Bootstrap

Day02 C++ 环境设置

2024.11.1 C++ 环境设置

如果您想要设置 C++ 语言环境,需要确保电脑上有以下两款可用的软件,文本编辑器C++ 编译器

一、文本编辑器

通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。

C++ 程序的源文件通常使用扩展名 .cpp.cp.c

  • Visual Studio Code:虽然它是一个通用的文本编辑器,但它有很多插件支持 C/C++ 开发,使其成为一个流行的选择,通过安装 C/C++ 插件和调整设置,可以成为一个很好的 C 语言开发环境。
  • Visual Studio: 面向 .NET 和 C++ 开发人员的综合性 Windows 版 IDE,可用于构建 Web、云、桌面、移动应用、服务和游戏。
  • VimEmacs:这两个是传统的文本编辑器,它们有着强大的编辑功能和高度的可定制性,对于熟练的用户来说非常强大,有很多插件和配置可以支持C语言的开发。
  • Eclipse:Eclipse 是另一个功能强大的集成开发环境,虽然它最初是为 Java 开发设计的,但通过安装 C/C++ 插件,可以使其支持 C 语言开发。

二、C++ 编译器

写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。

C++ 编译器用于把源代码编译成最终的可执行程序。

大多数的 C++ 编译器并不在乎源文件的扩展名,但是如果您未指定扩展名,则默认使用 .cpp

最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,如果您使用的是 HP 或 Solaris,则可以使用各自操作系统上的编译器。

以下部分将指导您如何在不同的操作系统上安装 GNU 的 C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU 的 gcc 编译器适合于 C 和 C++ 编程语言。

三、Linux 上的安装

如果您使用的是 Linux 或 UNIX,请在命令行使用下面的命令来检查您的系统上是否安装了 GCC:

$ g++ -v

如果您的计算机上已经安装了 GNU 编译器,则会显示如下消息:
Using built-in specs.
Target: x86_64-w64-mingw32
Configured with: 
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

如果未安装 GCC,那么请按照 http://gcc.gnu.org/install/ 上的详细说明安装 GCC。

四、Windows 上的安装

MinGW-w64

为了在 Windows 上安装 GCC,您需要安装 MinGW-w64。

MinGW-w64 是一个开源项目,它为 Windows 系统提供了一个完整的 GCC 工具链,支持编译生成 32 位和 64 位的 Windows 应用程序。

访问 MinGW-w64 的主页 mingw-w64.org,进入 MinGW 下载页面 https://www.mingw-w64.org/downloads/,下载最新版本的 MinGW-w64 安装程序。

在这里插入图片描述

我们只安装 MinGW-w64 ,所以只需下载 MinGW-w64 即可,点击红框中的"SourceForge"超链接,就会进入 SourceForge 中的 MinGW-w64 下载页面。

在 SourceForge 上下载 MinGW-w64 :https://sourceforge.net/projects/mingw-w64/files/

在这里插入图片描述

这种安装,会碰到网络连接错误问题,所以我们可以直接下载 sjlj (稳定的,64 位和 32 位都支持):

下载完成后,解压,在 bin 目录里面就可以找到 g++.exe 或者 gcc.exe:

当安装 MinGW 时,您至少要安装 gcc-core、gcc-g++、binutils 和 MinGW runtime,但是一般情况下都会安装更多其他的项。

添加您安装的 MinGW 的 bin 子目录到您的 PATH 环境变量中,这样您就可以在命令行中通过简单的名称来指定这些工具。

当完成安装时,您可以从 Windows 命令行上运行 gcc、g++、ar、ranlib、dlltool 和其他一些 GNU 工具。

五、G++ 应用说明

程序 g++ 是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。通过遵循源码的命名规范并指定对应库的名字,用 gcc 来编译链接 C++ 程序是可行的,如下例所示:

$ gcc main.cpp -lstdc++ -o myprogram

在这个例子中,main.cpp是源代码文件,而-o myprogram指定了输出的可执行文件的名字为myprogram。如果不使用-o选项指定输出文件名,默认情况下,GCC会将输出文件命名为a.out(在Unix-like系统上)或a.exe(在Windows上)。

下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码:

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}

最简单的编译方式:

$ g++ helloworld.cpp

由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行:

$ ./a.out
Hello, world!
通常我们使用 -o 选项指定可执行程序的文件名,以下实例生成一个 helloworld 的可执行文件:
$ g++ helloworld.cpp -o helloworld

执行 helloworld:
$ ./helloworld
Hello, world!

如果是多个 C++ 代码文件,如 runoob1.cpp、runoob2.cpp,编译命令如下:
$ g++ runoob1.cpp runoob2.cpp -o runoob

#生成一个 runoob 可执行文件。
g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件:
g++ -g -Wall -std=c++11 main.cpp

在这里插入图片描述

六、-o 做个生活中的类比

FILE 生成指定的输出文件。用在生成可执行文件时。
$ gcc main.cpp -o myprogram

​ 当你打印文件时,打印机会问你想把文件打印到哪。假设你有很多打印机,你就得指定一台,这样文件才能正确输出。同样的道理在编程里,FILE 就是指定“输出到哪”的一个方法。你告诉编译器把代码编译的结果放在哪个文件里,这样就能方便地找到生成的可执行文件,不用自己再去查找默认的位置。

;