gcc编译器

Posted little-kwy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc编译器相关的知识,希望对你有一定的参考价值。

gcc编译器

编译器:把文件经过处理,生成对应的可执行文件。

//test.c文件:

X86平台上面:

  gcc编译器,可以在x86平台上面运行。

ARM平台上面的:

  arm-linux-gcc

  交叉编译器:在一个平台编译生成可执行文件,在另外一个平台运行可执行文件。

  例如windows下面的keil就是一个交叉编译器。

 

 

 

技术图片

 

#include <stdio.h>

void main(){
    printf("hello world!
");
}

 

gcc编译

gcc main.c -o main

 

技术图片

 

 

技术图片

 

 技术图片

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 

 

 

 

 

例子:

下面以一个很简单的 main.c 来探讨这个过程。

#include <stdio.h>
#define NUM 3

int main(){
    int t;
    #if 0
    printf("hello world
");
    #endif  
    t = NUM;
    printf("t=%d
",t);
      
    return 0;
}

 

 

(1) 预处理:gcc -E main.c -o main.i。

我们用cat查看main.i的内容如下:

技术图片

 

 (2) 编译:gcc -S main.i -o main.s

 (3) 汇编:as main.s -o main.o

      nm main.o

 (4) 链接:gcc -o main  mian.o

 

以上是关于gcc编译器的主要内容,如果未能解决你的问题,请参考以下文章

GCC优化技巧,真的有用吗?

GCC/MingW 在不同版本上编译

解释'空'C数组(int a = {};)

将系统 C 安装到 Cygwin

vs怎么使用是gcc代码怎么写?

GCC编译器原理------交叉编译器制作和GCC组件及命令