请问一下如何实现“选择性编译”?
现在有一个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
最好可以通过后者实现,这样可以避免在编译过程中需要用户修改源代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Makefile 示例
那么
make
或make all
同时编译 patternA 和 patternBmake patternA
编译 patternAmake patternB
编译 patternB