我有一个第三方图书馆,出于各种原因我还不想链接。我不想删除我的代码但删除对其API的所有引用,所以我想生成它的虚拟实现。
我可以使用哪种工具在给定头文件的情况下吐出类的空定义?返回null,false,默认为0。我不想在飞行中做任何事情或任何聪明的事情 - 我看过的模拟对象库显得非常重量级?理想情况下,我希望使用像
这样的东西$ generate-definition my_header.h > dummy_implemtation.cpp
我正在使用Linux,GCC4.1
答案 0 :(得分:1)
这是一个比你想象的更难的问题,因为解析C ++很快就会成为一项艰巨的任务。你最好的选择是选择一个界面很好的现有解析器。
快速搜索this thread,其中有许多解析器可以做类似的建议。
在最糟糕的情况下,您可以使用SWIG - > Python,然后使用反射来打印虚拟实现。
对不起,这只是一个半答案,但我不认为有一个现有的工具可以做到这一点(除了模拟框架,这可能与使用解析器的工作量相同)。
答案 1 :(得分:0)
创建一个测试应用程序,该应用程序读取头文件并创建源文件。测试应用程序应解析头文件以了解函数名称。