-Xlinker option 把选项option传递给连接器.可以用他传递系统特定的连接选项, GNU CC无法识别这些选项. 如果需要传递携带参数的选项,你必须使用两次`-Xlinker',一次传递选项,另一次传递他的参数.例如,如果传递`-assert definitions',你必须写成`-Xlinker -assert -Xlinker definitions',而不能写成`-Xlinker "-assert ...
这个阶段主要处理源文件中的#ifdef、 #i nclude和#define命令。该阶段会生成一个中间文件*.i,但实际工作中通常不用专门生成这种文件,因为基本上用不到;若非要生成这种文件不可,可以利用下面的示例命令: gcc -E test.c -o test.i 在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s 。这个阶段对应...
除了在源文件中使用预编译指令中的宏定义,还可以通过gcc的编译命令传递宏定义。 -Dmacro: 相当于源文件中的#define macro,在缺省时默认把宏定义为字符串1 -Dmacro=defn: 相当于源文件中的#define macro=a -Umacro: 相当于源文件中的#undef macro -undef: 取消对任何非标准宏的定义 目录相关 -Idir: 指定头...
和-MM相同,但是输出将导入到.d的文件里面 -Wa,option 此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然 后传递给会汇编程序 -Wl.option 此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然 后传递给会连接程序. -llibrary 制定编译的时候使用的库 例子用法 gcc...
和`-dD'选项类似,但是忽略宏的参量或内容.只在输出端显示`#definename. 汇编器选项(ASSEMBLER OPTION) -Wa,option 把选项option传递给汇编器.如果option含有逗号,就在逗号处分割成多个选项. 连接器选项(LINKER OPTION) 下面的选项用于编译器连接目标文件,输出可执行文件的时候.如果编译器不进行 连接,他们就毫无意义...
预处理过程主要处理源代码中以#开头的预编译指令,处理#include和#define,它把#include包含进来的.h文件插入到#include所在的位置,把源程序中使用到的用#define定义的宏用实际的字符串代替 主要处理如下: 将所有的#define宏定义删除,并且展开所有的宏定义
#define IS_BUILTIN(option) config_enabled(option) /* * IS_MODULE(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'm', 0 * otherwise. */ #define IS_MODULE(option) config_enabled(option##_MODULE) #define CONFIG_JERRY 2 int main(void) ...
总体选项(Overall Option) -c -S -E -o file -pipe -v -x language 语言选项(Language Option) -ansi -fall-virtual -fcond-mismatch -fdollars-in-identifiers -fenum-int-equiv -fexternal-templates -fno-asm -fno-builtin -fhosted -fno-hosted -ffreestanding -fno-freestanding -fno-strict-prototyp...
可以使用宏定义对一些常用指令进行定义。指令格式 :define 宏名,并根据提示输入宏定义,以end作为结尾标志。 image 另外,在使用gdb进行调试过程中,可能免不了需要重新编译程序,这时不必将gdb退出,只需待程序重新编译后使用 r 指令重新运行程序,gdb会自动更新程序状态,这样可以节约时间 ...
相当于C语言中的#define macro=defn -Umacro 相当于C语言中的#undef macro -undef 取消对所有非标准宏的定义 -Idir 在你是用#i nclude"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如 果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他 ...