一、概念 gcc的-D选项可以定义宏,这是什么意思呢? C语言源程序中有#define定义的宏,可以起到替换、条件编译的功能;定义宏的方式是放在头文件或者C文件中。gcc提供了另外一种宏定义的方法,当然可以想象这样的宏定义方法并不是很好用,但毕竟编译器给我们提供了额外的宏定义的方法。假设程序需要很多宏,不可能这些宏...
和-M相同,但是输出将导入到.d的文件里面 -MMD 和-MM相同,但是输出将导入到.d的文件里面 -Wa,option 此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序 -Wl.option 此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序. -ll...
2. 预处理选项 (1)-E:只进行预处理,输出预处理结果。 (2)-D:定义宏。 (3)-U:取消定义宏。 (4)-I:指定头文件搜索路径。 (5)-M:输出依赖关系。 3. 编译选项 (1)-S:只编译不汇编,生成汇编代码。 (2)-fPIC:生成位置无关代码。 (3)-fno-strict-aliasing:关闭严格别名规则。 (4)-fno-omit-frame...
标头不是单独的编译单元。如果您通过-E标志(我认为)预编译所有文件,这可能会更有意义。这将为您留下...
'softfp'选项:表明要使用FPU硬件来做浮点运算,只是,函数的参数传递到整数寄存器(r0-r3)中,然后再传递到FPU中。 'hard'选项:表明要使用FPU硬件来做浮点运算,并且,函数的参数直接传递到FPU的寄存器(s0、d0)中。 -mfpu=vfpv3-d16 指定了目标机器上可用的浮点硬件(或硬件仿真),-mfloat-abi=softfp/hard,使用硬浮点...
gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
GCC最初是为了编译C语言而开发的,但现在已经成为一个多语言编译器,支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada、Go、D等多种语言。 GCC包含以下主要组件: 前端(Frontend):负责处理源代码,将源代码转换为中间表示(Intermediate Representation,IR)。不同的编程语言有不同的前端。 中间端(Middle-end):...
大多数c/c++编译器提供了-M选项,可自动寻找源文件依赖的头文件,并生成依赖规则。对于gcc,需要使用-MM选项,否则它会把系统依赖的头文件也包含进来。 初次编译时,.d 不存在: 调用隐含规则生成 .d 包含.d(注意:该文件定义 .d 依赖于 .cpp .h,由于 .d 是新建文件,肯定不过时) ...
-D 选项:在外部定义预处理器宏 $ gcc -D test.c 1. -c 选项:仅编译选项(当需要编译多个源文件时需要) $ gcc -c test.c 1. 有以下有两种方法: 1. gcc –o main main.c fun1.c fun2.c 2. gcc –c main.c gcc –c fun1.c gcc –c fun2.c ...
可以通过-d选项来对可执行文件进行反汇编 也可以对目标文件反汇编 通过-h选项查看目标程序中的段信息和调试信息 ⑥ addr2line:将程序地址翻译成文件名和行号;给定地址和可执行文件名称,它使用其中的调试信息判断与此地址有关联的源文件和行号,通常搭配nm使用。