parent
ca475802ab
commit
d00dc7cb5c
|
@ -10,16 +10,24 @@ gcc -o <target> <source files> [other parameters]
|
|||
|
||||
### 1.1. 常用参数
|
||||
|
||||
* -c:只编译不链接:产生 .o 文件(就是 obj 文件),不产生执行文件
|
||||
* -o:指定输出文件名
|
||||
* -g:可执行程序包含调试信息
|
||||
* -O\<n\>:设置优化级别
|
||||
* -static:链接静态库,禁止使用动态库
|
||||
* -shared:进行动态库编译,链接动态库
|
||||
* -I\<dir\>:在头文件的搜索路径中增加 dir 目录
|
||||
* -L\<dir\>:在动态库的搜索路径中增加 dir 目录
|
||||
* -l\<name\>:链接静态库(libname.a)或动态库(libname.so)的库文件
|
||||
* -fPIC(或 fpic):生成使用相对地址无关的目标代码
|
||||
- -c:只编译不链接:产生 .o 文件(就是 obj 文件),不产生执行文件
|
||||
- -o:指定输出文件名
|
||||
- -g:可执行程序包含调试信息
|
||||
- -O\<n\>:设置优化级别
|
||||
- -static:链接静态库,禁止使用动态库
|
||||
- -shared:进行动态库编译,链接动态库
|
||||
- -I\<dir\>:在头文件的搜索路径中增加 dir 目录
|
||||
- -L\<dir\>:在动态库的搜索路径中增加 dir 目录
|
||||
- -l\<name\>:链接静态库(libname.a)或动态库(libname.so)的库文件
|
||||
- -fPIC(或 fpic):生成使用相对地址无关的目标代码
|
||||
- -x:用于忽略源代码文件扩展名,并使用 -x 参数指定的语言类型。如果源码文件不是标准后缀名称(.c,.cpp )或语法与扩展名不符,则 gcc 编译器便不能通过后缀名判断语言类型,此时可以通过该参数指定语言类型。
|
||||
- -xc
|
||||
- -xc++
|
||||
- -xobjective-c
|
||||
- -xc-header
|
||||
- -xcpp-output
|
||||
- -assembler
|
||||
- -assembler-with-cpp
|
||||
|
||||
### 1.2. 编译警告控制参数
|
||||
|
||||
|
@ -134,8 +142,8 @@ GCC 会在汇编时加入一些堆栈跟踪信息,以便调试系统能够获
|
|||
|
||||
### 2.1. rpath/rpath-link
|
||||
|
||||
* -rpath-link:用于“链接”的时候的,例如你显式指定的需要 FOO.so,但是 FOO.so 本身是需要 BAR.so 的,后者你并没有指定,而是 FOO.so 引用到它,这个时候,会先从 -rpath-link 给的路径里找。
|
||||
* -rpath: 用于“运行”的时候。运行的时候,如果要找 FOO.so 文件,会从这个选项里指定的地方去找。对于交叉编译,交叉编译链接器需已经配置 --with-sysroot 选项才能起作用。也就是说,-rpath 指定的路径会被记录在生成的可执行程序中,用于运行时查找需要加载的动态库。
|
||||
- -rpath-link:用于“链接”的时候的,例如你显式指定的需要 FOO.so,但是 FOO.so 本身是需要 BAR.so 的,后者你并没有指定,而是 FOO.so 引用到它,这个时候,会先从 -rpath-link 给的路径里找。
|
||||
- -rpath: 用于“运行”的时候。运行的时候,如果要找 FOO.so 文件,会从这个选项里指定的地方去找。对于交叉编译,交叉编译链接器需已经配置 --with-sysroot 选项才能起作用。也就是说,-rpath 指定的路径会被记录在生成的可执行程序中,用于运行时查找需要加载的动态库。
|
||||
|
||||
举例如下:
|
||||
|
||||
|
|
|
@ -26,6 +26,18 @@ CompileFlags:
|
|||
- -Xcompiler*
|
||||
```
|
||||
|
||||
其中 -x 为 gcc 参数,用于忽略源代码文件扩展名,并使用 -x 参数指定的语言类型。如果源码文件不是标准后缀名称(.c,.cpp )或语法与扩展名不符,则 gcc 编译器便不能通过后缀名判断语言类型,此时可以通过该参数指定语言类型。取值可以为:
|
||||
|
||||
- -xc
|
||||
- -xc++
|
||||
- -xobjective-c
|
||||
- -xc-header
|
||||
- -xcpp-output
|
||||
- -assembler
|
||||
- -assembler-with-cpp
|
||||
|
||||
-I 为 gcc 指定库头文件路径的参数。
|
||||
|
||||
## .vscode/settings.json
|
||||
|
||||
创建:.vscode/settings.json 文件,参考配置格式如下:
|
||||
|
|
Loading…
Reference in New Issue