我有一组C库的内部头文件。我想生成一个包含某个声明子集的公共头。想到一个明显的解决方案是使用// EXPORT标记某些块(通过"块"我的意思是一系列非空白行)。然后很容易整理一个脚本来完成工作。
是否有更好的和/或标准的方法?
EDIT。这是一个骨架示例:
/*foo.h*/
...
int foo();
...
/*foo.c*/
int foo()
{
...
}
/*bar.h*/
...
int bar();
...
/*bar.c*/
#include "foo.h"
int bar()
{
foo();
...
}
/*my_lib_single_public.h*/
...
int foo();
int bar();
模块foo和bar理想地做一件事并且做得很好(它们仍然可以很大并且在其他模块中调用很多东西)并且我想通过保持这种内部结构来强调这一点。整件事打包成一个库:my_lib.so + my_lib_single_public.h。我想要的是自动生成my_lib_single_public.h,这样我就不必手动复制/粘贴声明。
由于