如何编译和运行C++程序?

C++ 和C语言相似,也要通过编译和连接后才能运行。在《C语言编译器》专题中咱们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、GCC、Xcode 等常见 IDE 或编译器,它们除了能够运行C语言程序,还能够运行 C++ 程序,步骤是同样的,这里再也不赘述,读者须要留意的是 C++ 源文件的后缀,以及 GCC 中的g++命令。
QQ截图20200309134653.pngc++

UNIX 是昂贵的商业操做系统,初学者几乎用不到;Microsoft Visual C++ 是微软的 C/C++ 编译器,VC 6.0、VS 都使用该编译器。我推荐使用.cpp做为 C++ 源文件的后缀,这样更加通用和规范。
g++ 命令
有了C语言开发经验,在 VS、Dev C++、VC6.0、C-Free、Xcode 等常见 IDE 下编译 C++ 程序易如反掌,只要把源文件的后缀设置为.cpp便可,相信各位读者都可以毫无障碍地驾驭。本节咱们重点介绍 Linux GCC 的使用。学习

在C语言中,咱们使用gcc命令来编译和连接C程序。例如编译单个源文件:
gcc main.cspa

编译多个源文件:
gcc main.c module.c操作系统

编译C++程序时,gcc命令也可使用,不过要增长-lstdc++选项,不然会发生连接错误。例如编译单个源文件:
gcc main.cpp -lstdc++code

编译多个源文件:
gcc main.cpp module.cpp -lstdc++blog

gcc命令在连接时默认使用C的库,只有添加了-lstdc++选项才会使用 C++ 的库。开发

不过 GCC 中还有一个g++命令,它专门用来编译 C++ 程序,广大 C++ 开发人员也都使用这个命令。g++命令和gcc命令的用法一模一样,例如编译单个源文件:
g++ main.cpp编译器

编译多个源文件:
g++ main.cpp module.cppit

使用-o选项能够指定可执行文件的名称:
g++ main.cpp -o demo
./demo编译

要想理解g++命令,咱们得从 GCC 的历史谈起。GCC 是由 GUN 组织开发的,最初只支持C语言,是一个单纯的C语言编译器,后来 GNU 组织倾注了更多的精力,使得 GCC 愈加强大,增长了对 C++、Objective-C、Fortran、Java 等其余语言的支持,此时的 GCC 就成了一个编译器套件(套装),是全部编译器的总称。

在这个过程当中,gcc命令也作了相应地调整,它再也不仅仅支持C语言,而是默认支持C语言,增长参数后也能够支持其余的语言。也就是说,gcc是一个通用命令,它会根据不一样的参数调用不一样的编译器或连接器。

可是让用户指定参数是一种不明智的行为,不但增长了学习成本,还使得操做更加复杂,因此后来 GCC 又针对不一样的语言推出了不一样的命令,例如g++命令用来编译 C++,gcj命令用来编译 Java,gccgo命令用来编译Go语言。

在之后使用 Linux GCC 时,我推荐使用g++命令来编译 C++ 程序,这样更加简洁和规范。

相关文章
相关标签/搜索