Gcc概述

    gcc 全名 GNU C Compiler

    可以理解就是一个翻译工具,把人理解的语言翻译成机器所理解的语言,它是根据文件的后缀名进行     相应的翻译服务的。

Gcc选项

    -v:查看gcc 版本

    -o:输出文件名

        如:gcc -o test main.c

    -I:指定头文件的位置,不指定使用环境变量默认的路径

        如:gcc -I ./inc -o main main.c

    -L:指定库文件的位置

    -l:指定库文件(由于库文件名都是lib开头,因此不需在库文件名中指定lib)

        如:libsunq.so

            共享库 gcc -L /usr/lib -o main -lsunq main.c

            静态库 libm.a

                   gcc -L /lib -o main -static -lm main.c

        备注:在linux函数库中包括两类:静态库和共享库,系统中库安装在/lib和/usr/lib,库文件               名=lib+库名+后缀名(共享库:".so+版本号",静态库:".a")

              如数学库:共享库libm.so.5,静态库:libm.a

    -Wall:打印警告信息

    

C语言编译过程

    C源文件--预处理--编译--汇编--链接--可执文件

    预处理(其实就是把#号内容替换掉,#define,#include)

    gcc -E

        如:gcc -E -o main.i main.c

    编译成汇编

    gcc -S 

        如:gcc -S -o main.s main.c

    汇编目标文件

    gcc -c

        如:gcc -c -o main.o main.s

    链接可执行文件

    gcc -o

        如:gcc -o main main.o