g++编译c++文件

来源:互联网 发布:学编程怎么开始学 编辑:程序博客网 时间:2024/05/21 22:59

下面是一个名字为hello.cpp的c++代码文件:

/* hello.cpp */#include <iostream>int main(int argc,char *argv[]){    std::cout << "hello!!" << std::endl;    return(0);}

在linux中执行如下命令编译该文件:

g++ hello.cpp

  编译器 g++ 通过检查命令行中指定的文件的后缀名cpp可识别其为 C++ 源代码文件。编译器默认的动作:编译源代码文件生成对象文件(object file),链接对象文件和 libstdc++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。
  g++的参数有:-o -l -c -E -S
(1)-o参数一般用来修改生成应用程序的名称,如下命令生成名字为hello的可执行程序:

g++ hello.cpp -o hello

(2)-l参数通过添加lib前缀和.so后缀,添加编译代码所需要链接的库文件,在标准库中查找该库文件,如下代码表示添加libopencv_highhui.so库文件:

g++ hello.cpp -o hello -lopencv_highhui

(3)-c参数用来告诉编译器编译源代码但不要执行链接,输出结果为对象文件。文件默认名与源码文件名相同,只是将其后缀变为 .o。如下代码表示生成hello.o文件:

g++ -c hello.cpp

(4)-E参数表示使 g++ 将源代码用编译预处理器处理后不再执行其他动作。下面的命令预处理源码文件 hello.cpp 并将结果显示在标准输出中:

g++ -E hello.cpp

(5)-S参数表示使编译器将程序编译成汇编语言,输出汇编语言代码而后结束。下面的命令将由 C++ 源码文件生成汇编语言文件 hello.s:

g++ -S hello.cpp

(6)编译多个.cpp文件:下面代码将三个.cpp文件链接到一个可执行文件中,并命名为hello:

g++ hello1.cpp hello2.cpp hello3.cpp -o hello
0 0
原创粉丝点击