GCC入门

作者: professordeng | 来源:发表于2018-11-01 16:38 被阅读0次

GCC(GNU Compiler Collection,GNU 编译器套装),现在支持编译解释多种语言如 C++ 和 Java。

格式:gcc [选项] [文件]

GCC 可以一次性完成 C 语言源文件的编译,但分步编译可以理解每一步做了什么工作。

在 vim 编辑器上编写以下代码并保存为 hello.c。

#include <stdio.h>

int main(){
  printf("hey, girl!\n");
  return 0
}

分步编译 C 语言程序

GCC 编译一个 C 语言程序需要以下四步,以 hello.c 为例。

  1. 预处理生成 .i 文件。
  2. 编译成汇编语言,生成 .S 文件。
  3. 汇编后生成目标文件 .o 文件。
  4. 将各个模块的 .o 文件链接起来生成一个可执行文件。
  • 预处理阶段
gcc -E hello.c -o hello.i

执行以上命令生成 hello.i 文件,本过程主要是处理预处理问题,例如宏的展开问题、文件的包含问题。

  • 编译阶段
gcc -S hello.i

执行后生成 hello.s 文件,里面全是汇编指令,学习汇编的同学应该知道。

  • 汇编阶段
gcc -c hello.s

该过程生成 hello.o 目标文件,但是不进行链接。

  • 链接阶段
gcc hello.o -o hello

链接完会生成 hello 可执行文件。

直接生成可执行文件

进入 hello.c 的目录下运行:

gcc hello.c

然后你会在目录下发现 a.out 文件,然后运行,指令如下

./a.out

./ 表示当前目录

参考文献

gcc格式

相关文章

  • GCC入门

    GCC(GNU Compiler Collection,GNU 编译器套装),现在支持编译解释多种语言如 C++ ...

  • GCC使用教程

    1. GCC快速入门 http://c.biancheng.net/view/661.html 2. C代码中定义...

  • Linux编译工具:gcc入门

    1. 什么是gcc gcc的全称是GNU Compiler Collection,它是一个能够编译多种语言的编译器...

  • redis

    GCC Linux 安装gcc、gcc-c++编译器 yum -y install gcc gcc-c++ GNU...

  • 5_嵌入式C语言编译器

    关键词:GCC与gcc有什么不同、交叉编译、 gcc关键编译选项 1. GCC与gcc有什么不同? GCC(GNU...

  • CentOS 7 安装 Redis

    1、安装gcc 查看gcc是否安装:$ yum list installed | grep gcc 安装gcc:$...

  • Centos7安装nginx

    1、gcc 编译依赖gcc环境,如果没有gcc环境,需要安装gcc yum install gcc-c++ 2、P...

  • 译:GCC内联汇编入门

    原文: GCC-Inline-Assembly-HOWTO 1. 简介(Introduction.) 1.1 Co...

  • yum升级高版本 5.3 gcc

    gcc 4.8安装 gcc 4.9 安装 gcc 5.2 安装

  • Nginx安装操作手册

    1.yum install gcc gcc-c++ (gcc -v) 2.yum -y install gcc z...

网友评论

      本文标题:GCC入门

      本文链接:https://www.haomeiwen.com/subject/wnmxxqtx.html