是否适合选择包含

时间:2017-10-13 07:44:07

标签: c makefile

我的foo.c文件中有一组函数foo1(),foo2(),foo3(),.... 理想情况下,我想自由选择将哪些功能包含在程序中以及哪些功能将被忽略/注释掉。 makefile是否适合这样的任务?

随时告诉我是否有更好/更方便的方法来实现这一目标。

2 个答案:

答案 0 :(得分:2)

我想也许你需要一些marcos和-D选项?

#ifdef FOO1
void foo1()
{}
#endif
#ifdef FOO2
void foo2()
{}
#endif

然后,在makefile中添加flage -DFOO2,那么只会编译foo2并忽略foo1。 例如:

gcc -DFOO2 main.c

答案 1 :(得分:1)

最方便的方法是将它们留在原来的位置,而不是将它们称为被忽略的方式。有些编译器可能会优化并从二进制文件中排除该代码。

第二种最方便的方法是使用预处理器#ifdef指令和编译器-D标志。

最不方便的方法是编写一个脚本,该脚本将仅使用请求的函数构建foo.c并从make调用该脚本。