在处理常规输入文件之前,首先处理文件file,但是忽略输出结果由于丢弃了文件file的 输出内容,-imacrosfile选项的唯一效果就是使文件file中的宏定义生效,可以用于其他输入文件在处理-imacrosfile选项之前,预处理器首先处理-D和-U选项,并不在乎他们在命令行上的顺序然而-include和-imacros选项按书写顺序处理 -idirafter dir...
1. -c 选项 -c选项表示编译、汇编指定的源文件,但是不进行链接。使用-c选项可以将每一个源文件编译成对应目标文件。如果不设置该选项,gcc生成的目标文件没有.o文件,如下例子: 使用gcc选项表示只编译源文件,而不进行链接,因此,对于链接中出错的错误是无法发现的。 2. -S 选项 -S选项将C语言的源文件编译为汇...
-Umacro取消宏macro,-U选项在所有的-D选项之后处理 连接器选项(LINKER OPTION) 选项解释 -llibrary连接名为library的库文件 -shared生成一个共享目标文件,常搭配-fPIC使用 -Wl,option把选项option传递给连接器.如果option中含有逗号,就在逗号处分割成多个选项. ...
在编译选项中加入-fstrict-aliasing的优势在于向编译器说明不同类型的lvalue将指向不相关的内存区域,编译器可以做大量的优化。而选项-fno-strict-aliasing向编译器表明不同类型的lvalue可能指向相关的内存区域,因此编译器不会做出一些极端的优化而造成不安全 -funwind-tables(为何会产生大量unwind符号?) unwind table,这个...
2. 预处理选项 (1)-E:只进行预处理,输出预处理结果。 (2)-D:定义宏。 (3)-U:取消定义宏。 (4)-I:指定头文件搜索路径。 (5)-M:输出依赖关系。 3. 编译选项 (1)-S:只编译不汇编,生成汇编代码。 (2)-fPIC:生成位置无关代码。 (3)-fno-strict-aliasing:关闭严格别名规则。 (4)-fno-omit-frame...
-Umacro 取消宏macro. `-U'选项在所有的`-D'选项之后处理,但是优先于任何`-include'或`-imacros'选项. -dM 告诉预处理器输出有效的宏定义列表(预处理结束时仍然有效的宏定义).该选项需结合`-E'选项使用. -dD 告诉预处理器把所有的宏定义传递到输出端,按照出现的顺序显示. ...
-U取消所有定义的宏 -f指定用来控制编译器行为的选项 -m指定与硬件相关的选项 GCC相关信息查看 -help显示此帮助说明 -target-help显示目标机器特定的命令行选项 -help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...] 显示特定类型的命令行选项 ...
1.总体选项 -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里 面. 例子用法: gcc -E hello.c > pianoapan.txt gcc -E hello.c | more 慢慢看吧,一个hello word 也要与处理成800行的代码 -S 只激活预处理和编译,就是指把文件编译成为汇编代码。
如果预处理器做条件测试,如`#if #question(answer)',该选项可以断言(Assert) question的答案是answer. -A-'关闭一般用于描述目标机的标准断言. -Dmacro 定义宏macro,宏的内容定义为字符串`1'. -Dmacro=defn 定义宏macro的内容为defn.命令行上所有的`-D'选项在`-U'选项之前处理. ...
1.总体选项 -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里 面. 例子用法: gcc -E hello.c > pianoapan.txt gcc -E hello.c | more 慢慢看吧,一个hello word 也要与处理成800行的代码 -S 只激活预处理和编译,就是指把文件编译成为汇编代码。