GCC编译器是一款开源的跨平台C/C++编译器,可以运行在多种操作系统上,支持C、C++、Objective-C、Fortran、Java、Go等多种编程语言。GCC可以把源代码转换为可执行文件,并且可以把源代码转换为目标文件,也可以把源代码转换为可执行文件。使用GCC编译器的基本用法如下:
编译单个源文件
gcc -o 目标文件 源文件
其中,-o表示输出文件的文件名,源文件是源代码文件,可以是.c、.cpp、.cc等文件,目标文件是编译后生成的可执行文件。
编译多个源文件
gcc -o 目标文件 源文件1 源文件2 源文件3
其中,-o表示输出文件的文件名,源文件1、源文件2、源文件3是源代码文件,可以是.c、.cpp、.cc等文件,目标文件是编译后生成的可执行文件。
编译静态库文件
gcc -c 源文件1 源文件2 源文件3 ar -rcs lib静态库文件.a 源文件1.o 源文件2.o 源文件3.o
其中,-c表示编译源文件,但不连接;-r表示把源文件1.o、源文件2.o、源文件3.o连接成一个静态库文件;-s表示生成静态库文件;lib静态库文件.a是静态库文件的文件名。
编译动态库文件
gcc -fPIC -c 源文件1 源文件2 源文件3 gcc -shared -o lib动态库文件.so 源文件1.o 源文件2.o 源文件3.o
其中,-fPIC表示生成位置无关的代码;-shared表示生成动态库文件;-o表示输出文件的文件名;lib动态库文件.so是动态库文件的文件名。
C++编译器是一款开源的跨平台C++编译器,可以运行在多种操作系统上,支持C++、Objective-C、Fortran、Java、Go等多种编程语言。使用C++编译器的基本用法如下:
编译单个源文件
g++ -o 目标文件 源文件
其中,-o表示输出文件的文件名,源文件是源代码文件,可以是.cpp、.cc等文件,目标文件是编译后生成的可执行文件。
编译多个源文件
g++ -o 目标文件 源文件1 源文件2 源文件3
其中,-o表示输出文件的文件名,源文件1、源文件2、源文件3是源代码文件,可以是.cpp、.cc等文件,目标文件是编译后生成的可执行文件。
编译静态库文件
g++ -c 源文件1 源文件2 源文件3 ar -rcs lib静态库文件.a 源文件1.o 源文件2.o 源文件3.o
其中,-c表示编译源文件,但不连接;-r表示把源文件1.o、源文件2.o、源文件3.o连接成一个静态库文件;-s表示生成静态库文件;lib静态库文件.a是静态库文件的文件名。
编译动态库文件
g++ -fPIC -c 源文件1 源文件2 源文件3 g++ -shared -o lib动态库文件.so 源文件1