如何解析/简单分析C#中的C/C++代码以获取方法列表
发布时间:2020-12-15 18:06:46 所属栏目:百科 来源:网络整理
导读:我需要浏览一个C/C++文件并提取类和方法列表以及它们在文件中的位置. libclang是最好的选择吗?或者这项任务“太多”了吗? 只想寻找配对括号会更好吗? 如果选择libclang:有没有办法从c#调用它? 谢谢! 解决方法 您可以考虑 ctags,可在许多平台上使用.输
我需要浏览一个C/C++文件并提取类和方法列表以及它们在文件中的位置.
libclang是最好的选择吗?或者这项任务“太多”了吗? 只想寻找配对括号会更好吗? 如果选择libclang:有没有办法从c#调用它? 谢谢! 解决方法
您可以考虑
ctags,可在许多平台上使用.输出很容易解析,并且您需要完整的信息.
更多信息 ctags -N -x --c-kinds=+p crowd.* 产生这个输出 CrowdSim class 44 crowd.h class CrowdSim CrowdSim function 47 crowd.h CrowdSim( const std::string& contentDir ) : _contentDir( contentDir ) {} Particle function 35 crowd.h Particle() Particle struct 25 crowd.h struct Particle _contentDir member 56 crowd.h std::string _contentDir; _crowd_H_ macro 18 crowd.h #define _crowd_H_ _particles member 57 crowd.h std::vector< Particle > _particles; animTime member 32 crowd.h float animTime; chooseDestination function 24 crowd.cpp void CrowdSim::chooseDestination( Particle &p ) chooseDestination prototype 53 crowd.h void chooseDestination( Particle &p ); dx member 28 crowd.h float dx,dz; // Destination position dz member 28 crowd.h float dx,dz; // Destination position fx member 29 crowd.h float fx,fz; // Force on particle fz member 29 crowd.h float fx,fz; // Force on particle init function 35 crowd.cpp void CrowdSim::init() init prototype 49 crowd.h void init(); node member 31 crowd.h H3DNode node; ox member 30 crowd.h float ox,oz; // Orientation vector oz member 30 crowd.h float ox,oz; // Orientation vector px member 27 crowd.h float px,pz; // Current postition pz member 27 crowd.h float px,pz; // Current postition update function 68 crowd.cpp void CrowdSim::update( float fps ) update prototype 50 crowd.h void update( float fps ); (注意:-x仅供用户检查) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |