我有一个第三方图书馆,由于种种原因我不想链接到.我不想屠杀我的代码,尽管删除对其API的所有引用,所以我想生成一个虚拟实现.
有没有任何工具,我可以用它吐出空的定义的类给他们的头文件?返回null,false,默认为0.我不想做任何动作或任何聪明的事情 – 我看过的模拟对象库显得相当重,理想情况下,我想要使用的东西
$generate-definition my_header.h > dummy_implemtation.cpp
我正在使用Linux,GCC4.1
解决方法
这比你想要的更困难,因为解析C可以很快成为一项艰巨的任务.你最好的选择是用一个很好的界面来选择现有的解析器.
快速搜索发现this thread有很多建议解析器做类似的事情.
在最糟糕的情况下,您可能可以使用SWIG – > Python,然后使用反射来打印一个虚拟实现.
对不起,这只是一个半答案,但我不认为现有的工具可以做到这一点(除了一个嘲笑的框架,这可能与使用解析器相同的工作量).