所以我们有例如可以编译成>的ffmpeg。比4个图书馆。是否可以使用GCC编译\ collect而不是.a或.so库,而是进入一些谨慎的大型C文件?
答案 0 :(得分:1)
有趣的问题,你为什么要这样做?无论如何,您可以尝试查看gcc -E
是否符合您的要求 - 它只调用预处理器。因此,您可能必须调整源代码以包含其他源代码文件。
MiLu@Dago: ~ > cat x.c
int x_num() {
return 7;
}
MiLu@Dago: ~ > cat moin.c
#include <stdio.h>
#include "x.c"
int main() {
printf("moin: %d\n", x_num());
return 0;
}
MiLu@Dago: ~ > gcc -E moin.c | wc -l
1150
我想我宁愿尝试cat
实用程序:
find -type f -name \*.c | xargs cat > all_my.c
但是,你想要实现什么目标?
答案 1 :(得分:1)
您可以将cpp与-M系列参数一起使用来生成描述代码依赖关系的make文件,然后为.c和.h文件添加规则以将内容追加到同一文件中。
如果应用程序未在.h文件中使用#ifdef防护,则可能会导致有关宏定义两次的警告。