PC机用的win10,虚拟机使用的是VMware12,Linux版本是redhat6。
1、Gcc的特点。
Gcc(GNU C Complier)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作之一。GCC可以在多种硬件平台上编译出可执行程序,其执行效率与一般的编译器相比高很多。
2、Gcc的基本用法
gcc[options] filenames
options:编译器所需要的编译选项(可有可无)
filenames:要编译的文件的名字
举例:
3、Gcc编译器将c文件编译成可执行文件过程分为4步。
第一步:预编译 gcc –E –o hello.i
第二步:编译 gcc –S hello.i –o hello.s 编译成汇编文件
第三步:汇编 gcc –c hello.s –o hello.o 编译成二进制文件
第四步:连接 gcc hello.o –o hello 编译成可执行文件
4、常用的编译选项
-o输出的文件名字
-O或 –O2 对程序的优化,比如对定义了但是没有用的变量,就回被优化掉。
-c不连接,编译器只是有.c等源文件编译生成.o文件,不生成可执行文件
-g产生调试工具所需要的符号信息,要想调试程序必须添加此编译选项
-I(大写的i) 将后面的路径作为编译器寻找头文件的标准路径。例如:gcc hello.c –I /home/include –o hello
-DMACRO定义MACRO宏,相当于在程序中使用 #define MACRO
附件:不同的后缀的含义