文章目录
gcc的使用方法和选项
gcc的使用方法
gcc的常见选项
| 选项 | 含义 | 
|---|---|
| -E | 只进行预处理,不编译 | 
| -S | 只编译,不汇编 | 
| -c | 只编译、汇编,不链接 | 
| -g | 包含调试信息 | 
| -o | 输出指定文件名 | 
| -L | 指定链接所需库(动态库或静态库)所在路径 | 
| -l(小写L) | 指定所需链接库的库名 | 
| -I(大写i) | 指定include包含文件的搜索目录 | 
| –static | 静态编译 | 
| -static | 静态链接 | 
| -Werror | 不区分警告和错误,遇到任何警告都停止编译 | 
| -Wall | 开启大部分警告提示 | 
| -ansi | ANSI标准 | 
| -std=c99 | C99标准 | 
| -O0 | 关闭所有优化选项 | 
| -O1 | 第一级别优化,使用此选项能使可执行文件更小、运行更快,并不会增加太多编译时间,可以简写为-O | 
| -O2 | 第二级别优化,采用几乎所有的优化技术,会延长编译时间 | 
| -O3 | 第三级别优化,在-O2的基础上增加了产生inline函数、使用寄存器等优化技术 | 
| -Os | 此选项类似于-O2,作用是优化所占用的空间,但不会进行性能优化,常用于生成最终版本 | 
gcc的编译过程
  1 #include <stdio.h>
  2 #include <math.h>
  3
  4 int main( int argc, int argv[])
  5 {
  6     float   a=3.1415;
  7     float   b=3.1415926;
  8
  9     if( fabs(a-b) < 0.0001)
 10     {
 11         printf("Equal\n");
 12     }
 13     else
 14     {
 15         printf("Not Equal\n");
 16     }
 17
 18     return 0;
 19 }
 20










