加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何解析/简单分析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仅供用户检查)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读