gcc提供了一个选项-save-temps,可以保存编译过程中的中间文件,这里面就包括了预处理之后的源码。 在阅读QEMU代码的时候,可以在configure的过程中加入这个选项,比如 ./configure --target-list=arm-softmmu --extra-cflags=-save-temps 由于QEMU支持的平台很多,target-list指定多个目标可能会多次编译,后生成的中间文件...
在这个系列的教程中,我们一共讲解了 5 个不常见但是很有用的 gcc 命令行选项:-Save-temps-g-Wextra-Wfloat-equal@file 记得花时间练习使用每一个选项,同时不要忘了浏览 gcc 手册上面所提供的关于它们的全部细节。你是否知道或使用其他像这样有用的 gcc 命令行选项,并希望把它们在全世界范围内分享?请在下面...
save-temps 不用删除中间文件. -save-temps=<arg> 不用删除指定的中间文件. no-canonical-prefixes 在构建其他 gcc 组件的相对前缀时,不要规范化路径. -pipe 使用管道而不是中间文件 -time 为每个子流程的执行计时. -specs=<file> 使用 <file> 的内容覆盖内置规范. -std=<standard> 假设输入源用于<standard...
gcc -o main.o -c *.c -save-temps=obj -Wall -fdata-sections -ffunction-sections && gcc -o test_gc main.o -Wl,--gc-sections -Wl,-Map=test_gc.map -T default.lds -Wl,--print-gc-sections /usr/bin/ld: removing unused section '.rodata.cst4' in file '/usr/lib/gcc/x86_64-lin...
# gcc -save-temps foo.c -o foo# ls foo*foo foo.c foo.i foo.s GCC 支持的其它调试选项还包括-p和-pg,它们会将剖析(Profiling)信息加入到最终生成的二进制代码中。剖析信息对于找出程序的性能瓶颈很有帮助,是协助Linux程序员开发出高性能程序的有力工具。在编译时加入-p选项会在生成的代码中加入通用剖...
-save-temps=<arg> :不用删除指定的中间文件。 -no-canonical-prefixes :在构建其他 gcc 组件的相对前缀时,不要规范化路径。 -pipe :使用管道而不是中间文件。 -time :为每个子流程的执行计时。
为了做进一步验证,我在rtconfig.py里面的CFLAGS加了一个编译选项:-save-temps=obj;这个选项的作用就是在编译的过程中,把中间过程文件也同步输出,这里的中间文件有以下几个: xxx.o 文件:这是最终对应单个C文件生成的二进制目标文件,这个文件是最终参与链接成可执行文件的。
(3) -save-temps 保存编译过程中生成的一些列中间文件。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 # gcc test.c-o test-save-temps 除了生成执行文件test之外,还保存了test.i 和 test.s 中间文件,供用户查询调试。
使用选项-save-temps可以输出所有中间结果文件。使用-save-temps选项生成的中间文件,与对应的源文件具有相同的文件名,但文件扩展名分别为.i、.s和.o,分别表示为预处理输出、汇编语言输出和对象文件。 仅检查语法 如果调用GCC时使用-fsyntax-only选项,就不会执行预处理、编译、汇编和链接。只会测试输入文件的语法是否...
# gcc test.c -o test-save-temps 除了生成执行文件test之外,还保存了test.i 和 test.s 中间文件,供用户查询调试。 (五) 交叉编译选项 通常情况下使用 gcc 编译的目标代码都与使用的机器是一致的,但 gcc 也支持交叉编译的功能,能够编译其他不同CPU的目标代码。