我有一个可执行文件,其中包含多个目录中的许多 .c 源文件。目前我需要对整个源代码进行静态分析,而不是单独对每个文件进行分析。
我刚刚发现 gcc ʟᴛᴏ(链接时间优化)通过压缩镜像预处理源的 gimple 起作用。
此外,当编译器在 ʟᴛᴏ 链接阶段崩溃时,它会要求发送预处理源以获取错误报告。
通过合并源文件,我的意思是将用于创建可执行文件的所有文件合并到一个文件中。编译和链接该单个文件将创建库,从而手动执行 ʟᴛᴏ 所做的事情。(但这不是这里的目的。静态分析器不支持 ɪᴘᴏ/ʟᴛᴏ 之类的东西)
手动执行此操作肯定需要数小时......</p>
那么,有没有办法自动合并C源文件?或者至少得到 ʟᴛᴏ 预处理源?(save-temps
在与 ʟᴛᴏ 链接期间,该选项似乎没有什么有趣的作用)