zoukankan      html  css  js  c++  java
  • gcc 编译控制选项

    gcc 编译控制选项
    前面已经讲过, gcc 的基本用法是:
    $ gcc [选项] [文件名]
    gcc 有很多编译控制选项,使得 gcc 可以根据不同的参数进行不同的编译处理,可供 gcc
    调用的参数大约有 100 来个,但实际使用中并不会用到这么的多选项和参数。这里只介绍一
    些最基本和常用的控制选项以及参数,如表 10.3 所列。
    10.3 gcc 常用选项和参数

    名称 功能描述
    -c 只编译不链接。编译器只是将输入的.c 等源代码文件生成.o 为后缀的目标文件,通
    常用于编译不包含主程序的子程序文件
    -S 只对文件进行编译,不汇编和链接
    -E 只对文件进行预处理,不编译汇编和链接
    -o output_filename 确定输出文件的名称为 output_filename,这个名称不能和源文件同名。如果不给出
    这个选项, gcc 就给出预设的可执行文件 a.out
    -g 产生符号调试工具(GNU gdb)所必要的符号信息,要想对源代码进行调试,就必
    须加入这个选项。 g 也分等级,默认是-g2-g1 是最基本的, -g3 包含宏信息
    -DFOO=BAR 在命令行定义预处理宏 FOO,值为 BAR

     

    -O 对程序进行优化编译、链接。采用这个选项,整个源代码会在编译、链接过程中进
    行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速

     

    度就相应地要慢一些
    -ON 指定代码的优化等级为 N,可取值为 0123O0 没有优化, O3 优化级别最高
    -Os 使用了-O2 的优化部分选项,同时对代码尺寸进行优化
    -Idirname dirname 目录加入到程序头文件搜索目录列表中,是在预编译过程中使用的参数
    -L dirname dirname 目录加入到库文件的搜索目录列表中
    -l FOO 链接名为 libFOO 的函数库
    -static 链接静态库
    -ansi 支持 ANSI/ISO C 的标准语法,取消 GNU 语法中与该标准相冲突的部分
    -w 关闭所有警告,不建议使用
    -W 开启所有 gcc 能提供的警告
    -werror 将所有警告转换为错误,开启该选项,遇到警告都会中止编译
    -v 显示 gcc 执行时执行的详细过程, 以及 gcc 和相关程序的版本号



  • 相关阅读:
    [bug] 未能加载文件或程序集“SIPEPS, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
    [MongoDB]索引
    [MongoDB]Profiling性能分析
    [MongoDB]mapReduce
    tms mqtt
    mqtt介绍
    咏南中间件统一的数据序列(还原)类
    支付宝签名
    咏南中间件开始支持中间件桥接
    咏南数据序列(还原)类
  • 原文地址:https://www.cnblogs.com/wjchao/p/7460686.html
Copyright © 2011-2022 走看看