C++ 环境设置

我们已经初步了解了 C++ 是什么? 做什么用? 我们前面也看了一个入门的范例。但我们的 C++ 环境都还没搭建起来。本章,我们就学习如何搭建 C++ 编程环境。

本地环境设置

如果我们想要编译运行 C++ 程序,至少需要确保电脑上有以下两款可用的软件: 文本编辑器和 C++ 编译器。

文本编辑器

这将用于输入您的程序。文本编辑器包括 Sublime Text3、Visual Studio Code、Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。

文本编辑器的名称和版本在不同的操作系统上可能会有所不同。

例如,Notepad 通常用于 Windows 操作系统上,vim/vi 可用于 Windows 和 Linux/UNIX 操作系统上。

而 Sublime Text3、Visual Studio Code 则是垮平台的。

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

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

推荐使用 .cpp 这是最佳 C++ 编程实战的一部分

在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。

C++ 编译器

我们编辑好的 .cpp 文件是不能直接运行的,它需要 编译 为二进制的机器码才能被计算机 CPU 识别,才可以按给定指令执行程序。

C++ 编译器用于把源代码编译成最终的可执行程序。这里假设您已经对编程语言编译器有基本的了解了。

最常用的免费可用的编译器是 GNU 的 C/C++ 编译器。

以下部分将指导您如何在不同的操作系统上安装 GNU 的 C/C++ 编译器。

这里同时提到 C/C++,主要是因为 GNU 的 gcc 编译器适合于 C 和 C++ 编程语言。

安装 GNU 的 C/C++ 编译器

UNIX/Linux 上的安装

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

root@localhost ~]# g++ -v

如果您的计算机上已经安装了 GNU 编译器,则会显示如下消息:

[root@localhost ~]# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

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

Mac OS X 上的安装

如果你使用的是 Mac OS X,安装 GCC 最简单的方法就是从苹果的网站上下载 XCode 开发环境,并按照安装说明进行安装。

一旦安装上 XCode,您就能使用 GNU 编译器。

安装 XCode 最简单的方法就是在 APP STORE 里搜索 XCode 来下载安装。

另外,Xcode 也可以从 https://developer.apple.com/xcode/ 上下载

Windows 上的安装

为了在 Windows 上安装 GCC,您需要安装 MinGW。为了安装 MinGW,请访问 MinGW 的主页 www.mingw.org ,进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序,命名格式为 MinGW-<version>.exe。

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

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

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

使用 Visual Studio 集成开发环境

  1. 下载安装 Visual Studio Community 2017

  2. 打开 Visual Studio Community 2017

  3. 点击 文件 -> 新建 -> 项目 新建 C++ 项目

  4. 在左侧列表选择 已安装 -> Visual C++ -> Windows 桌面 -> Windows 桌面向导 并设置项目名为 helloworld

  5. 点击 OK

  6. 在弹出的窗口中左侧的 应用程序类型(T) 中选择 控制台应用程序

  7. 在弹出的窗口中右侧的 其他选项 中,勾选 空项目 选择按钮,然后点击 确定 按钮继续

  8. 右击文件夹 源文件 并点击 新建 --> 新建项...

  9. 选择 C++ 文件 然后设置文件名为 main.cpp 然后点击 添加

  10. 拷贝以下代码到 main.cpp

    /**
     * file: main.cpp
     * author: 简单教程(www.twle.cn)
     *
     * Copyright © 2015-2065 www.twle.cn. All rights reserved.
     */
    
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Hello, World!" << endl;
        cout << "Hello, 简单教程!" << endl;
        return 0;
    }
    

    界面如下

  11. 点击菜单上的 调试 -> 开始执行(不调试) (或按下 ctrl + F5) :

  12. 完成以上操作后,你可以看到以下输出

使用 g++ 编译程序

g++ 编译器是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。

通过遵循 C++ 标准命名规范并指定对应库的名字,就可以用 gcc 来编译链接 C++ 程序,如下所示:

[root@localhost ~] gcc main.cpp -lstdc++

将下列代码保存到 main.cpp 中:

/**
 * file: main.cpp
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, World!" << endl;
    cout << "Hello, 简单教程!" << endl;
    return 0;
}

最简单的编译方式就是:

$ g++ main.cpp

因为我们没有使用 -o 选项指定可执行程序的文件名,编译器采用默认的 a.out

可以使用下面的命令运行我们刚刚编译好的 a.out

$ ./a.out
Hello, World!
Hello, 简单教程!

我们也可以使用 -o 选项指定可执行程序的文件名

比如下面的脚本生成一个 helloworld 的可执行文件:

$ g++ main.cpp -o helloworld

执行 helloworld:

./helloworld
Hello, World!
Hello, 简单教程!

多个源码文件

如果是多个 C++ 源代码文件,如 vc.cppvs.cppmain.cpp,则编译命令如下

$ g++ vc.cpp vs.cpp main.cpp -o ts

则生成一个 ts 的可执行文件

g++ 编译器指定 c++ 标准

g++ 编译器默认使用 C++98 标准 但我们也可以指定使用 C++11 来编译 main.cpp 文件

$ g++ -g -Wall -std=c++11 main.cpp

g++ 常用命令选项

选项 解释
-ansi 只支持 ANSI 标准的 C 语法。
这一选项将禁止 GNU C 的某些扩展,如 asm 或 typeof 关键词
-c 只编译并生成目标文件
-DMACRO 以字符串"1"定义 MACRO 宏
-DMACRO=DEFN 以字符串"DEFN"定义 MACRO 宏
-E 只运行 C 预编译器
-g 生成调试信息。GNU 调试器可利用该信息
-IDIRECTORY 指定额外的头文件搜索路径 DIRECTORY
-LDIRECTORY 指定额外的函数库搜索路径 DIRECTORY
-lLIBRARY 连接时搜索指定的函数库LIBRARY
-m486 针对 486 进行代码优化
-o FILE 生成指定的输出文件
默认的文件名为 a.out, 这个选项可以自定义生成的执行文件名
-O0 不进行优化处理
-O 或 -O1 优化生成代码
-O2 进一步优化
-O3 比 -O2 更进一步优化,包括 inline 函数
-shared 生成共享目标文件。通常用在建立共享库时
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义
-w 不生成任何警告信息
-Wall 生成所有警告信息

C++ 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.