<分区>
我知道 gcc 可以做到这一点。但我想要一个可以这样做的 C 程序。该程序应接受 .c 文件并进行预处理操作并生成 .i 文件 仅供引用:这是一个分配给我在他大学的亲戚的项目。
标签 c c-preprocessor
<分区>
我知道 gcc 可以做到这一点。但我想要一个可以这样做的 C 程序。该程序应接受 .c 文件并进行预处理操作并生成 .i 文件 仅供引用:这是一个分配给我在他大学的亲戚的项目。
最佳答案
使用命令 cc -E file.c -o file.i
这将为您提供预处理文件。有关更多信息,请参阅 man页面。
再读一遍你的问题。您想编写创建该文件的程序。
那么你必须为此做很多工作。首先你需要阅读#include
, #define
和条件包含 ( #if, #elif #endif
) 然后你需要检测 < >
和 " "
, 读取这些符号内的文件。那么你必须 fopen()
这些文件并将它们粘贴到 .i 文件中。
总而言之,这将是很多工作,但这就是做到这一点的方法。
编辑它不仅仅是复制过去。读取头文件意味着在 #include 中现在说你的头文件是 abc.h,然后你必须搜索所有可以存在 .h 文件的预定义位置。如果找到,您需要 fopen() 该文件读取其内容并将其写入您的 .c 文件。另外,您必须注意宏和条件包含。相信我,我已经尝试过了,它的工作量很大。但你可以尝试它会提高你的基础
关于c - 从 .c 文件生成 .i 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44898539/