现在有一个C工程,假设只有main.c 和 pattern.h文件,在后者中定义了一些标准化的接口想实现一个功能:将pattern.h中定义的接口提供给用户开发,最终将会有很多包含该头文件的c文件。比如 A同学写一个 patternA.c 来实现这个接口,同理 B同学写一个 patternB.c 来实现这个接口,这两个c文件都有#include "pattern.h"并且会同时存在于一个文件目录下。最终在main.c 中 或者makefile 中,如何实现选择其中之一来进行编译链接?比如修改main.c 中的宏定义 或者 运行 make patternA or make patternB最好可以通过后者实现,这样可以避免在编译过程中需要用户修改源代码
2 回答
富国沪深
TA贡献1790条经验 获得超9个赞
Makefile 示例
all: patternA patternBpatternA: main.c patternA.c pattern.h gcc -o $@ $^patternB: main.c patternB.c pattern.h gcc -o $@ $^
慕码人8056858
TA贡献1803条经验 获得超6个赞
make
或make all
同时编译 patternA 和 patternBmake patternA
编译 patternAmake patternB
编译 patternB
- 2 回答
- 0 关注
- 666 浏览
添加回答
举报
0/150
提交
取消