zoukankan      html  css  js  c++  java
  • GCC 概述:C 语言编译过程详解

    Tags: C
    Description: 关于 GCC 的个人笔记

    GCC 概述

    1. 对于 GCC 6.1 以及之后的版本,默认使用的 C++ 标准是 C++ 14;使用 -std=c++11 来指定使用哪一个标准
    2. 将源代码编译为可执行程序的流程

    image.png

    1. g++ 编译时使用 C++ 的标准库,而 gcc 默认使用 C 的标准库,g++ 等价于 gcc -xc++ -lstdc++ -shared-libgcc
    2. Linux 下可以使用 man gcc 命令查看帮助手册

    GCC 的安装

    1. Windows 下安装 MinGW 即可
    2. gcc version 7.4.0 (GCC)

    GCC 编译程序的步骤

    1. 预处理(pre-processing):cpp hello.c > hello.i,将引入的头文件(#include)和定义的宏(#define)扩展到代码中
    2. 编译(compilation):gcc -S hello.i,将预处理过的文件编译成汇编程序
    3. 汇编(assembly):as -o hello.o hello.s,将汇编程序转换成目标文件,二进制格式,每一个源文件都需要产生一个目标文件
    4. 链接(linker):ld -o hello.exe hello.o ...libraries...,将一个或多个目标文件连接成最终的可执行文件

    GCC 常用参数

    1. --version 查看版本
    2. -v verbose(冗长的),输出编译的详细信息
    3. -std 指定标准
    4. -o 指定输出文件的名称
    5. -Wall 输出所有的警告信息
    6. -c 只将源文件编译为 object 文件(*.o),而不进行链接,之后可以使用 gcc -o myprog.exe file1.o file2.o 将多个 object 文件连接成可执行文件
    7. -shared 编译为共享库(.dll,.so)
    8. -S 编译为汇编代码

    参考

    1. GCC and Make: Compiling, Linking and Building
    2. Quickie Intro to GCC

    本文亦发布在:https://iamazing.cn/article/GCC-概述:C-语言编译过程详解

  • 相关阅读:
    【bzoj2669】[cqoi2012]局部极小值 容斥原理+状压dp
    默默的等式
    P3403 跳楼机
    作物
    【bzoj3174】[Tjoi2013]拯救小矮人
    【bzoj4976】宝石镶嵌
    BZOJ2121-字符串游戏
    mzf的考验
    牛客网round1
    jloi2015
  • 原文地址:https://www.cnblogs.com/justsong/p/11868390.html
Copyright © 2011-2022 走看看