zoukankan      html  css  js  c++  java
  • gcc常用的编译选项

    一、程序编译过程

        程序编译的时候,要分四个阶段 :

    1、预处理阶段,完成宏定义和include文件展开等工作;

    2、根据编译参数进行不同程度的优化,编译成汇编代码;

    3、用汇编器把汇编代码进一步生成目标代码;

    4、用连接器把生成的目标代码和系统或用户提供的库连接起来,生成可执行文件;

    二、gcc/g++的编译过程

    1.预处理,不生成文件

      [预处理器cpp]
    2.将预处理后的文件转换成汇编语言,生成.s的文件      

      [编译器egcs]
    3.由汇编变为目标代码(机器代码)生成.o的文件

      [汇编器as]
    4.连接目标代码,生成可执行程序

      [链接器ld]

    三、gcc常用编译选项

    -E       只运行C预编译器cpp,不生成文件

    -S       只把文件编译成为汇编代码

    -c       只生成object文件,不链接

    -o       生成指定的输出文件

    -g         生成可被gdb使用的标准调试信息

    -IDIR      指定额外的头文件搜索路径DIR

    -LDIR      指定额外的库函数搜索路径DIR

    -lLIBRARY  指定链接时需要的其它函数库

               “LIBRARY

    -w       不生成任何警告信息

        -Wall    生成所有级别的警告信息

    -shared  生成支持动态共享库的执行文件

    -static  不支持动态共享库,把函数库内容静

              态链接到可执行程序中

    -O0      不进行代码优化处理

        -O,O1   进行一般优化,减少大小和时间

        -O2      进一步优化,一般在内核编译时使用

        -O3      较-O2进一步优化

    四、arm-linux-gcc常用编译选项 

    arm-linux-gcc

    arm-linux-objdump

        –D 显示所有段的汇编内容

        -d    显示可执行段的汇编内容

        –m arm 

  • 相关阅读:
    解决CollectionView TableView reloadData或者reloadSections时的刷新的闪烁问题
    HTTP请求头
    Fastlane 使用笔记
    python-函数式编程
    python-高级特性
    python基础使用
    python基础-函数02
    python基础-函数01
    python基础
    Linux基础
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/3514255.html
Copyright © 2011-2022 走看看