编译和运行C++
2022-5-1
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
C++和C语言类似,也要经过编译和链接后才能运行
notion image
 
C语言源文件的后缀非常统一,在不同的编译器下都是.cC++ 源文件的后缀则有些混乱,不同的编译器支持不同的后缀:
notion image
 
 

g++ 命令

在C语言中,使用gcc命令来编译和链接C程序,例如编译单个源文件:
 
编译C++程序时,gcc命令也可以使用,不过要增加-lstdc++选项,否则会发生链接错误:
gcc命令在链接时默认使用C语言的库,只有添加了-lstdc++选项才会使用C++的库
 
不过GCC中还有一个g++命令,它专门用来编译C++程序,g++命令和gcc命令的用法如出一辙:
使用-o选项可以指定可执行文件的名称:
 
选择标准:
notion image
 
 
获得程序状态:
  • windows: echo %ERRORLEVEL%
  • UNIX: echo $?
 
 
GCC 是由 GUN 组织开发的,最初只支持C语言,是一个单纯的C语言编译器,后来 GNU 组织倾注了更多的精力,使得 GCC 越发强大,增加了对 C++Objective-CFortranJava等语言的支持,此时的 GCC 就成了一个编译器套件(套装),是所有编译器的总称。
在这个过程中,gcc命令也做了相应地调整,不再仅仅支持C语言,而是默认支持C语言,增加参数后也可以支持其他的语言。也就是说,gcc是一个通用命令,根据不同的参数调用不同的编译器或链接器。但是让用户指定参数是一种不明智的行为,不但增加了学习成本,还使得操作更加复杂,所以后来 GCC 又针对不同的语言推出了不同的命令,例如g++命令用来编译 C++gcj命令用来编译 Javagccgo命令用来编译Go语言。
 
  • C++
  • C与C++命名空间
    目录