讲师博文
gcc编译器下载及安装教程 来源 : 未知     2018-08-14

Linux下变成的源码要运行,必须先转成二进制的机器码。此时就需要编译器,Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。

Gcc编译器能将C、C++语言源程序通过编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。

比如,下面这段源码(文件名叫做test.c)。

#include<stdio.h>

int main(void)

{

printf("Hello, world!\n");

return 0;

}

编译则使用gcc命令,gcc命令提供了非常多的命令选项。

一. 常用编译命令选项

假设源程序文件名为test.c。

1. 无选项编译链接

用法:#gcc test.c

作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out,如果需要执行,内核中必须支持该文件的格式,默认一般都是elf可执行程序

2. 选项 -o

用法:#gcc test.c -o test

作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。

3. 选项 -E

用法:#gcc -E test.c -o test.i

作用:将test.c预处理输出test.i文件,预处理其实就是处理#预处理符号,比如#include, #define, #if, #ifdef, #error等

4. 选项 -S

用法:#gcc -S test.i

作用:将预处理输出文件test.i汇编成test.s文件。汇编语言对应汇编指令,默认gcc编译成x86指令,如果需要编译arm架构的,就必须使用交叉工具链

5. 选项 -c

用法:#gcc -c test.s

作用:将汇编输出文件test.s编译输出test.o文件,二进制文件就是101010机器码

6. 无选项链接

用法:#gcc test.o -o test

作用:将编译输出文件test.o链接成终可执行文件test。

如果需要修改Ubuntu的gcc版本,可以看一下你的Ubuntu安装了哪些版本的gcc 用命令:ls /usr/bin/gcc* -l 显示是

lrwxrwxrwx 1 root root 7 2017-08-14 15:17 /usr/bin/gcc -> gcc-4.6

-rwxr-xr-x 1 root root 302104 2017-09-17 05:43 /usr/bin/gcc-4.6

由上面显示可以看出默认安装的是gcc-4.6,现在来改成gcc-4.7

$ sudo apt-get install gcc-4.7

$ sudo apt-get install g++-4.7

删除gcc-4.6的软连接文件/usr/bin/gcc。(只是删除软连接)

命令:sudo rm /usr/bin/gcc

然后建一个软连接,指向gcc-4.7。

命令:sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc

然后可以通过命令:gcc -v 查看版本

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:代码封装是为了什么 怎么封装

下一篇:wireshark抓包工具如何使用

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号