Ped*_*ers 5 c makefile cmake c-preprocessor
为了解决我正在开发的工具所面临的各种问题,我希望能够在给定项目中生成所有C文件(*.c)的预处理版本,尤其是删除宏,还可以用于其他一些细节.我知道预处理可以使用任何一个文件gcc -E或cpp单个文件来完成,但是当出现复杂的依赖关系和包含时,就像在大型项目中一样,单个预处理是无用的或完全不实用的.
当然,现在,这些项目通常也会有一些规范来以有效的方式编译整个项目,例如Makefile或配置文件.因此,我的问题是:我究竟需要在那里进行修改(或者至少要查看),只为项目中的每个C文件生成预处理的C文件而不是制作项目?
您可以假设它是一个带有C文件的开源项目,但是(不感兴趣)其他编程语言编写的其他文件也可以存在.
make这是从文件生成预处理输出文件的简单规则.cpp。
%.i: %.cpp
g++ -E -o $@ $?
Run Code Online (Sandbox Code Playgroud)
如果有file.cpp,您可以file.i使用以下方式生成:
make file.i
Run Code Online (Sandbox Code Playgroud)
您可以设置类似的规则来.i从.c文件生成文件。
%.i: %.c
gcc -E -o $@ $?
Run Code Online (Sandbox Code Playgroud)
如果.cpp文件或.c文件被修改,.i可以通过运行重新生成文件make。
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |