GCC 概述:C 语言编译过程详解

原文链接:https://iamazing.cn/article/GCC-概述:C-语言编译过程详解


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

猜你喜欢

转载自www.cnblogs.com/justsong/p/11868390.html