Linux下编译C++程序时,gcc
命令也可以使用,不过要增加-lstdc++
选项,否则会发生链接错误。例如编译单个源文件:
gcc main.cpp -lstdc++
编译多个源文件:
gcc main.cpp module.cpp -lstdc++
不过 GCC 中还有一个g++
命令,它专门用来编译 C++ 程序,广大 C++ 开发人员也都使用这个命令。g++
命令和gcc
命令的用法如出一辙。
使用-o
选项可以指定可执行文件的名称:
g++ main.cpp -o demo
./demo
但是让用户指定参数是一种不明智的行为,不但增加了学习成本,还使得操作更加复杂,所以后来 GCC 又针对不同的语言推出了不同的命令,例如g++
命令用来编译 C++,gcj
命令用来编译 Java,gccgo
命令用来编译Go语言。