GCC常用参数使用说明

前言

GCC(GNU Compiler Collection)是一个开源的编译器,它可以编译多种编程语言的源代码,包括C、C++。

本文主要讲述GCC常用参数,分类归纳,从学习认知层面更容易吸收。

GCC常用参数

GCC提供了许多参数来控制编译过程,下面是一些常用的GCC参数及其分类解析:
1,基本选项

* `-E`:只运行预处理,输出预处理后的代码,不编译或链接。
* `-c`:只编译不链接,生成.o文件。
* `-S`:只预处理和编译,不汇编和链接。
* `-o output_file`:指定输出文件的名称,默认a.out可执行文件。 
* `-llibrary`:链接指定的库文件。例如,`-lmath`表示链接数学库。

2,优化选项

* `-O0`:关闭所有优化。
* `-O1`:进行基本的优化。
* `-O2`:进行所有优化(默认)。
* `-O3`:进行所有优化,并打开循环展开等高级优化。
* `-Os`:为嵌入式系统进行优化,减小代码大小。

3,警告选项

* `-Wall`:显示所有警告信息。
* `-Wextra`:显示额外的警告信息。
* `-Werror`:将所有警告视为错误。

4,调试选项

* `-g`:生成调试信息。
* `-gsplit-dwarf`:生成分离的DWARF调试信息,用于减少调试文件的大小。

5,语言选项

* `-x language`:指定源文件的编程语言。例如,`-x c++`将源文件视为C++源代码。

6,库文件搜索路径

* `-Ipath`:添加指定的路径到头文件搜索路径中。
* `-Lpath`:添加指定的路径到库文件搜索路径中。

7,高级选项

* `-flto`(或 `--flto=full`):启用链接时优化,将所有对象文件组合在一起,并在链接时进行全局优化。
* `-fsplit-stack`:为程序生成一个分割的堆栈,以防止栈溢出。

你可能感兴趣的:(GCC,笔记,其他)