background image

    同 VC,TC 等编译器不同,gcc 其实是可以很方便的在提示符下编译程序的。gcc 在提示
符下编译程序,并没有如同 VC 那样的冗长而晦涩的编译参数。相反,却有着比 VC 更灵

 

活且简短的参数。

    不得不承认,不懂 gcc 编译参数的人,确实会损失一些 gcc 的强大功能。所以,我下面
简单介绍一下 gcc 的一些基本编译参数。这里,我以 C

 

编译器为例。

    注意:gcc

 

的编译参数是区分大小写的。

     
    

 

编译二进制代码

    gcc -c yours.c -o yours.o 
    使用这段指令,gcc 将会把 yours.c 编译成 yours.o 的二进制代码。其中,yours.o 就类似
于 VC,TC 中的.obj 文档。

    

 

编译最简单的小程序

    gcc -o yours yours.c 
    通过这条指令,gcc 将会把 yours.c 源代码编译成名为 yours 的可执行程序。当然,您也
可以将 yours.c 改成我们刚才介绍的 yours.o 文件。这样,gcc 将使用编译刚才编译好的二进
制文档来链接程序。这里,格式的特点是,-o 后面是一串文件列表,第一个参数是所编译
程序的文件名,从第二个开始,就是您编译和连接该可执行程序所需要的二进制文档或
者源代码。

    

 

编译时将自己的头文件目录设为默认头文件目录

    gcc -I”Your_Include_Files_Document_Path” -c yours.c -o yours.o 
    这条指令中的 -I 参数将会把 Your_Include_Files_Document_Path 添加到你默认的头文件

 

目录中。这样您将可以使用 #include <your_include.h>来导入头文件。

    

 

编译时使用自己的静态库存放目录

    gcc -L”Your_Lib_Files_Document_Path” -o yours yours.o 
    这条指令将会让 gcc 在连接时除了在默认 Lib 存放目录中搜索指定的静态库以外,还
会在 Your_Lib_Files_Document_Path 中搜索。

    

 

编译时使用静态连接库

    gcc -lyour_lib -o yours yours.o 
    这条指令将会让 gcc

 

在连接时把 libyour_lib.a 中您所用到的函数连接到可执行程序中。

此处注意,gcc 所使用的静态连接库是 lib*.a 格式的。在连接时,只且仅需要提供*的内容
就可以了。

    

 

编译时使用优化