草庐IT

c++ - 有哪些库可用于解析c++以提取类型信息

我正在寻找一种方法来解析C++代码以检索有关类的一些基本信息。我实际上不需要代码本身的太多信息,但我确实需要它来处理诸如宏和模板之类的事情。简而言之,我想提取代码的“结构”,即您将在UML图中显示的内容。对于代码库中的每个类/结构/union/枚举/typedef,我只需要(在处理模板和宏之后)是:他们的名字他们所在的命名空间包含的字段(类型名称,字段名称和访问限制,例如private/mutable/etc)包含在(返回类型、名称、参数)中的函数声明文件此数据定义开始的行号/列号(或文件中的字节偏移量)代码中的实际说明与我的目的无关。我预计很多人会说我应该为此使用正则表达式(甚至是F

c++ - 在哪里可以找到可以打开常见 3D 文件格式的 C++ 3D 建模库?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。关闭3天前。Improvethisquestion有人知道任何C++库/接口(interface)来处理常见格式的3d模型数据(*.obj,.3ds,.ply,...)?我可以找到一些库,例如lib3ds或libobj,但如果我想处理不同的对象格式,我真的需要习惯它们的API并编写一堆我自己的包装器,这样我的代码就不会变得一团糟。我很感兴趣,如果有一些替代品(甚至是商业的),但对于不同3d模型格式的大军来说,它们就像一把“瑞士刀”。

c++ - 如何从 Perl 调用 C++ 静态库?

我正在编写一个需要在多个应用程序之间共享的C++静态库,其中一个是用Perl编写的。不幸的是,我对核心Perl语言知之甚少(我读过Llama的书),而且我对它的库也不是很熟悉。如何从Perl脚本调用外部C++二进制文件?通过Google搜索,我找到了关于Perl的资料Inline模块,但如果我理解正确,那不是我需要的。我很确定这是为了直接在您的Perl脚本中编写C和C++代码,而不是为了调用外部C++库。C++静态库正在为ARM处理器交叉编译,因此在运行Perl脚本的目标机器上不会有C++编译器。(如果这有所作为。) 最佳答案 您可

c# - 如何在 C# 应用程序中使用 C++ 库?

到目前为止,我发现我需要将库重新编译为.dll而不是.lib,启用/clr和/EHa而不是/EHsc。现在我有一个托管dll,我已将其作为引用添加到我的C#项目中。现在我该如何使用它?我准备编写一些包装器,但我不知道从哪里开始或如何“查看”我已经获得访问权限的函数。我已经阅读了一些关于类名和函数如何被编译器破坏的内容……我是否需要返回并在各处添加__declspec导出(如果是,如何?),或者VS2010中是否有一个选项说“不要破坏它!”?有问题的C++库仍在积极开发中,所以我希望我可以尽可能少地修改C++库,只需定期使用一些开关重新编译它,然后在需要时公开新功能。

c++ - 什么是最实惠的 C++ 音频库?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我正在寻找可以播放mp3和混合音频的C++音频库。我可以花一些钱,但我的预算有点紧张,所以越少越好。它确实需要在Windows和MacOSX上运行,尽管Linux和嵌入式设备是一个很大的优势。有人知道一两个好的图书馆吗?谢谢!

c++ - 如何在 qmake 项目中使用 Boost 库?

前几天编译了Boostver.1.53.0用于VS2012。它工作正常,编译正常。现在我想将Boost与QtCreator一起使用。在我包含的.pro文件中INCLUDEPATH+=C:\boost\boost_1_53_0\-lboost_filesystemLIBS+=C:/boost/boost_1_53_0/stage/lib/但是当我编译时出现2个错误::-1:error:cannotfindC:/boost/boost_1_53_0/stage/lib/:Permissiondeniedcollect2.exe:-1:error:error:ldreturned1exits

c++ - 将静态库转换为共享库(从 libsome.a 创建 libsome.so): where's my symbols?

这个问题的标题是exactdupe,但该问题的答案对我没有帮助。我有一堆目标文件打包在一个静态库中:%g++-std=c++98-fpic-g-O1-c-ofoo.ofoo.cpp%g++-std=c++98-fpic-g-O1-c-obar.obar.cpp%ar-rclibsome.afoo.obar.o我想从libsome.a而不是目标文件生成libsome.so,但是这个库真的是准系统:%g++-std=c++98-fpic-g-O1-shared-olibsome.solibsome.a%nm-DClibsome.so0000xxxxA_DYNAMIC0000xxxxA_GL

c++ - 链接 boost 库时出现另一个 "undefined reference"错误

我已经看到其他几篇文章处理完全相同的问题。但是,他们的解决方案似乎都不适合我。我正在编译以下代码:#include#include#includeusingnamespaceboost::numeric::ublas;intmain(){matrixmat1(3,3);matrixmat2(3,3);matrixmat3(3,3);unsignedk=0;for(unsignedi=0;i我正在使用命令行编译:$g++matrix_test.cpp-omatrix_test-lboost_system-lboost_timer并收到以下错误:usr/lib/gcc/i686-redha

c++ - 错误 LNK1561 : entry point must be defined

我正在使用VisualStudio2012。我的解决方案有3个项目项目A项目BprojectC层次结构就像projectC依赖于projectB而后者又依赖于projectA。projectC中有一个ma​​in函数,projectB和projectA中没有main。我得到的错误是:errorLNK1561:entrypointmustbedefinedprojectAerrorLNK1561:entrypointmustbedefinedprojectB我试过改变ConfigurationProperties->Linker->System->SubSystemtoConsole(/

c++ - 解析和修改 LLVM IR 代码

我想阅读(解析)LLVMIR代码(保存在文本文件中)并向其中添加一些我自己的代码。我需要一些这样做的例子,也就是说,这是如何通过使用LLVM为此目的提供的库来完成的。所以基本上我想要的是将IR代码从文本文件读入内存(也许LLVM库以AST形式表示它,我不知道),进行修改,比如在AST中添加更多节点然后最后写返回IR文本文件中的AST。虽然我需要阅读和修改IR代码,但如果有人可以提供或推荐我阅读(解析)它的一些示例,我将不胜感激。 最佳答案 首先,纠正一个明显的误解:LLVM是一个用于操作IR格式代码的框架。看不到AST(*)-你读取