C++环境设置

news/2025/1/17 0:59:03/

本地环境设置

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

文本编辑器

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

文本编辑器的名称和版本在不同的操作系统上可能会有所不同。例如,Notepad 通常用于 Windows 操作系统上,vim/vi 可用于 Windows 和 Linux/UNIX 操作系统上。

通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。

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

C++ 编译器

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

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

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

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

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

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

UNIX/Linux 上的安装

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

$ g++ -v

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

Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr .......
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)

Mac OS X 上的安装

如果您使用的是 Mac OS X,最快捷的获取 GCC 的方法是从苹果的网站上下载 Xcode 开发环境,并按照安装说明进行安装。一旦安装上 Xcode,您就能使用 GNU 编译器。

Xcode 目前可从 Sign In - Apple 上下载,需要使用 apple ID 登录 。

Windows 上的安装

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

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

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

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


使用 Visual Studio (Graphical Interface) 编译

1、下载及安装 Visual Studio Community 2015。

2、打开 Visual Studio Community

3、点击 File -> New -> Project

5、点击 OK。

6、在以下窗口中点击 Next

7、在弹出的窗口中选择 Empty project 选项后,点击 Finish 按钮:

8、右击文件夹 Source File 并点击 Add --> New Item... :

9、选择 C++ File 然后设置文件名为 main.cpp,然后点击 Add:

 

10、拷贝以下代码到 main.cpp 中:

#include <iostream>int main()
{std::cout << "Hello World!\n";return 0;
}

 界面如下图所示:

 11、点击菜单上的 Debug -> Start Without Debugging (或按下 ctrl + F5) :

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

 

g++ 应用说明

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

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

 

下面是一个保存在文件 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

 g++ 常用命令选项

 


http://www.ppmy.cn/news/37833.html

相关文章

信息学奥赛一本通 1384:珍珠(bead)

【题目链接】 ybt 1384&#xff1a;珍珠(bead) 【题目考点】 1. 图论&#xff1a;floyd 求传递闭包 传递闭包&#xff1a;二维数组e&#xff0c;e[i][j]表示顶点i到顶点j是否有路径。 【解题思路】 这是个有向图。每颗珍珠是一个顶点&#xff0c;初始情况下&#xff0c;如…

为社会开发,无障碍开发,开发人员的公益时间

无障碍开发让每一个人受益无障碍开发让每一个人受益无障碍开发的重要性无障碍开发案例无障碍小助手百度无障碍开放平台Apple Watch 的无障碍功能Google 的无障碍开发指南微软的无障碍开发工具结论无障碍开发让每一个人受益 无障碍开发是指开发人员在设计和开发软件时&#xff…

C++实现vector

#include <iostream> // using namespace std; template <typename T> class Myvector { private:T * first;//指向头T * last;//指向最后一个元素T * end;//指向容器末尾 public:Myvector():first(nullptr),last(nullptr),end(nullptr){ cout << "Myve…

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

以Optimism、Arbitrum One等为代表的Layer2生态&#xff0c;率先对交互测试用户发放了空投后&#xff0c;越来越多的用户也开始向新的未发币的Layer2生态比如zkSync Era、StarkNet等看齐&#xff0c;以期待从中获得潜在的空投机会。而除了Layer2概念板块外&#xff0c;以Nautil…

ThreeJS-文件夹、线框、点击按钮触发函数(七)

代码&#xff1a; <template> <div id"three_div"></div> </template> <script> import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; import gsap fr…

Python 自建项目上传到 PyPI 之后通过 pip 可安装

Python 自建项目上传到 PyPI 之后通过 pip 可安装1. 登录 PyPI 网站2. 创建一个 Python 项目3. 文件信息LICENSEMANIFEST.inpyproject.tomlREADME.mdrequirements.txt4. 上传到 PyPI 上5. 查看1. 登录 PyPI 网站 官方网站: https://pypi.org/ 注册登录后可以进行查看文档: http…

Springboot异常统一处理,并保存异常日志到数据库中

一、为什么要进行统一异常处理 如果发生了异常我们应该让接口可以返回统一的结果。有好的展示给接口调用方。方便我们对异常进行记录&#xff0c;和错误排查。我们可能对某些异常比较关注&#xff0c;比如说我们监控某个IP或者用户一天发送短信的数量&#xff0c;当超出一定数…

二叉树的前序、中序、后序、层序遍历

1. 二叉树的前序遍历 前序遍历&#xff1a;根左右&#xff0c;即对于每一棵子树&#xff0c;先遍历其根节点&#xff0c;然后遍历其左子树&#xff0c;最后遍历其右子树 题目简述&#xff1a;给你二叉树的根节点root&#xff0c;返回它节点值的前序遍历。leetcode链接 思路一&a…