GCC Command-Line Options

http://tigcc.ticalc.org/doc/comopts.html


原文出处: http://www.ruchee.com/code/linux/gnu/gcc.html


常用选项

-E:只进行预处理,不编译
-S:只编译,不汇编
-c:只编译、汇编,不链接
-g:包含调试信息
-I:指定include包含文件的搜索目录
-o:输出成指定文件名

高级选项

-v:详细输出编译过程中所采用的每一个选项
-C:预处理时保留注释信息
-ggdb:在可执行文件中包含可供GDB使用的调试信息
-fverbose-asm:在编译成汇编语言时,把C变量的名称作为汇编语言中的注释
-save-temps:自动输出预处理文件、汇编文件、对象文件,编译正常进行
-fsyntax-only:只测试源文件语法是否正确,不会进行任何编译操作
-ffreestanding:编译成独立程序,而非宿主程序

语言标准

-ansi:ANSI标准
-std=c99:C99标准
-std=gnu89:ISO/IEC 9899:1990 以及GNU扩充
-std=gnu99:ISO/IEC 9899:1999 以及GNU扩充
-trigraphs:支持ISO C三字符组

出错提示

-w:忽略所有警告
-Werror:不区分警告和错误,遇到任何警告都停止编译
-Wall:开启大部分警告提示
-Wshadow:某语句块作用域变量与更大作用域的另一变量同名时发出警告(此警告未包含在-Wall选项中,需单独开启)
-Wextra:对所有合法但值得怀疑的表达式发出警告

优化选项

-O0:关闭所有优化选项
-O1:第一级别优化,使用此选项可使可执行文件更小、运行更快,并不会增加太多编译时间,可以简写为-O
-O2:第二级别优化,采用了几乎所有的优化技术,使用此选项会延长编译时间
-O3:第三级别优化,在-O2的基础上增加了产生inline函数、使用寄存器等优化技术
-Os:此选项类似于-O2,作用是优化所占用的空间,但不会进行性能优化,常用于生成最终版本

自定义扩展名

-x:使用此选项可以指定自定义的源文件扩展名,类型有cc-headercpp-outputassemblerassembler-with-cppnone

-x后面所列的所有文件都会被视为其指定的类型,要想改变类型可以再一次使用-x选项,或者使用-x none回到默认设置

示例:gcc -o test test.c -x assembler test.asm -x c test2.c

静态库的创建和使用

以创建静态库static_lib.a为例

  1. 编写C源文件static_lib.c,其中写入需要重复调用的函数,然后使用命令gcc -c static_lib.c生成目标文件static_lib.o
  2. 使用ar工具创建静态库,命令格式:ar rcs static_lib.a static_lib.o
  3. 编写C头文件static_lib.h,其中写入这些函数的原型声明
  4. 编写主函数app.c,引入头文件static_lib.h,这样就可以正常使用那些自定义的可复用函数了
  5. 使用命令gcc app.c -static ./static_lib.a -o app编译生成可执行文件app

动态库的创建和使用

以创建动态库share_lib.so为例

  1. 编写C源文件share_lib.c,写入需要重复调用的函数,然后使用命令gcc -shared -fPIC -o share_lib.so share_lib.c生成动态库文件share_lib.so
  2. 编写C头文件share_lib.h,写入函数的原型声明
  3. 编写主函数app.c,引入头文件share_lib.h,然后就可以调用在动态库中自定义的函数了
  4. 使用命令gcc app.c ./share_lib.so -o app编译生成可执行文件app

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio 2022 默认使用 Microsoft Visual C++ 编译器进行编译,如果需要使用 GCC 编译器进行编译,可以按照以下步骤进行配置: 1. 安装 GCC 编译器 首先需要安装 GCC 编译器,可以从官网下载安装包进行安装。安装完成后,需要将 GCC 编译器所在路径加入系统环境变量中,以便 Visual Studio 能够找到它。 2. 创建 C 语言工程 在 Visual Studio 中创建一个 C 语言工程,选择“Win32 Console Application”模板,并在“Additional options”中勾选“Empty project”,表示创建一个空项目。 3. 配置项目属性 在项目属性中,选择“Configuration Properties” -> “General”,将“Configuration Type”设置为“Makefile”。 在“Configuration Properties” -> “VC++ Directories”中,将“Include Directories”设置为 GCC 编译器的 include 目录,将“Library Directories”设置为 GCC 编译器的 lib 目录。 在“Configuration Properties” -> “C/C++” -> “Command Line”中,将“Additional Options”设置为 GCC 编译器的命令行选项,例如“-std=c11”。 4. 编写代码并编译 在项目中编写 C 语言代码,并按 F7 键或者选择“Build” -> “Build Solution”进行编译。此时,Visual Studio 就会使用 GCC 编译器进行编译,并生成可执行文件。 需要注意的是,使用 GCC 编译器进行编译可能会产生一些兼容性问题,需要根据具体情况进行调整和解决。此外,使用 GCC 编译器还需要安装 MinGW 工具集或 Cygwin 工具集等相关工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值