c++ linux 环境,C++ 环境设置

C++ 环境设置

本地环境设置

如果您想要设置 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)

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

Mac OS X 上的安装

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

Windows 上的安装

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

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

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

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

使用 Visual Studio (Graphical Interface) 编译

2、打开 Visual Studio Community

3、点击 File -> New -> Project

6fffebbbbc18c46a5892c2a939cd9a63.png

4、左侧列表选择 Templates -> Visual C++ -> Win32 Console Application,并设置项目名为 MyFirstProgram。

a3a3556b24c05ebb7e29df49c1fcbac9.png

5、点击 OK。

6、在以下窗口中点击 Next

2b75f2759bdffe5c7984a7f05a4e82a3.png

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

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

ce03b0a3659dbc747c3d4a1703115dbf.png

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

0f29c2687f023b16433d20ea2a6c6e14.png

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

#include

int main()

{

std::cout << "Hello World!\n";

return 0;

}

界面如下所示:

6a3a7ee213956ac43b3315f448fc37f6.png

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

00109da6938e56b5b4128f8941d26dfc.png

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

2db9242202ff10428350a27c0da3ab75.png

g++ 应用说明

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

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

#include

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++ 常用命令选项

选项解释

-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 进行代码优化。

-oFILE 生成指定的输出文件。用在生成可执行文件时。

-O0不进行优化处理。

-O或 -O1 优化生成代码。

-O2进一步优化。

-O3比 -O2 更进一步优化,包括 inline 函数。

-shared生成共享目标文件。通常用在建立共享库时。

-static禁止使用共享连接。

-UMACRO取消对 MACRO 宏的定义。

-w不生成任何警告信息。

-Wall生成所有警告信息。

在 Cloud Studio 中运行 C++ 程序

C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。它被认为是一种中级语言,它综合了高级语言和低级语言的特点。C++ 是一种编译型语言 C++ 代码需要通过 编译器 转为机器码才能够由 CPU 运行。通常Linux/Unix系统只要安装了 GNU 的 GCC 编译器即可运行 C++;Window下需要通过安装 MinGW 来安装 GCC;MacOS 下可以通过 Xcode 来配置 GCC。这里我向你介绍一个更简单的方式:通过 Cloud Studio 平台来快速开始你的C++项目。

Cloud Studio 已经为我提供了内置的 C/C++ 开发环境,我们只需要选择他就可以运行我们的 C/C++ 项目,通常 C++源文件使用 .cpp、.cp 或 .c 作为扩展名,下面提供一个小例子:

step1:访问腾讯云开发者平台,注册/登录账户。

step2:在右侧的运行环境菜单选择:"C/C++" 运行环境,通过命令:g++ -v 可以查看 GCC 是否安装成功以及 GCC 的版本、配置信息

step3:在左侧代码目录中新建c++代码目录编写你的c++代码

step4 : 在终端中进入c++代码目录, 输入命令:g++ hello.c -o hello.out 编译刚才我们编写代码 -o 参数是用来指定生成机器码文件的文件名以便于区分,之后目录中生成了一个 hello.out 的机器码文件

step5 : 在终端中输入命令:./hello.out 便可以看见我们编写的程序的输出结果了

/*代码示例*/

#include

int main()

{

std::cout << "Hello, Universe! I'm running on Cloud Studio!\n";

return 0;

}

Tips: 从终端中输入命令可以看出 Cloud Studio 为我们集成了 Ubuntu16.04.1 + GCC5.4 + Clang3.5.2 的开发环境:

44f3cd411188ba07750df9e41fc3530f.png

有任何疑问,可以查阅帮助文档

现在 CODING 正在举办一场基于 Cloud Studio 工作空间的【我最喜爱的 Cloud Studio 插件评选大赛】。进入活动官网:https://studio.qcloud.coding.net/campaign/favorite-plugins/index,了解更多活动信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装pgsql源码包解压,在Linux(centos)中使用源码安装pgRouting

目录一、解压pgRouting二、配置PostgreSQL的环境变量三、编译源代码四、测试由于pgRouting依赖于PostGIS和PostgreSQL&#xff0c;所以阅读本文之前&#xff0c;务必请先阅读&#xff1a;Linux(centos)中使用源码安装PostgreSQLLinux(centos)中使用源码安装PostGIS按照以上文章…

Android无线测试之—UiAutomator UiObject API介绍二

点击与长按 一、组件区域位置关系 Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom] 二、点击与长按API 返回值API描述booleanclick()点击对象booleanclickAndWaitForNewWindow(lang timeout)点击对象&#xff0c;等待新窗口出现&#xff0c;参数为等待超长时间booleancli…

【Python】进程和多进程的使用

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、进程1.概念理解2.进程的启动3.python进程 二、多进程 前言 进程是指计算机中正在运行的程序实例。 进程可以是操作系统分配的&#…

android WebView总结

浏览器控件是每一个开发环境都具备的&#xff0c;这为马甲神功提供了用武之地。windows的有webbrowser&#xff0c;android和ios都有webview。仅仅是其引擎不同&#xff0c;相对于微软的webbrowser。android及ios的webview的引擎都是webkit&#xff0c;对Html5提供支持。本篇主…

Windows消息传递机制详解

Windows是一个消息&#xff08;Message&#xff09;驱动系统。Windows的消息提供了应用程序之间、应用程序与Windows系统之间进行通信的手段。应用程序想要实现的功能由消息来触发&#xff0c;并且靠对消息的响应和处理来完成。必须注意的是&#xff0c;消息并非是抢占性的&…

c语言求树上节点的双亲,用非递归算法求二叉树叶子结点的c语言代码怎样写?...

递归算法&#xff1a;是一种直接或者间接地调用自身的算法。在计算机编写程序中&#xff0c;递归算法对解决一大类问题是十分有效的&#xff0c;它往往使算法的描述简洁而且易于理解。递归算法的特点递归过程一般通过函数或子过程来实现。递归算法&#xff1a;在函数或子过程的…

c语言求前15项中偶数项的和,偶数前n项和

初中数学相较于小学数学&#xff0c;在内容、难度等方面均有提高&#xff0c;因此在学生学习中&#xff0c;很多家长不知道怎样去辅导孩子学习数学&#xff0c;今天小编整理了偶数前n项和&#xff0c;仅供参考!1 等差数列的奇数项的前n项和和偶数的前n项和怎么求_百度知道1&am…

av linux,AV Linux 新版发布,多少人知道

原标题&#xff1a;AV Linux 新版发布&#xff0c;多少人知道正文Glen MacArthur宣布发布了全新版本的AV Linux&#xff0c;这是一个基于Debian的面向多媒体的发行版&#xff0c;其中包含一系列音频和视频制作软件。对于那些不了解此发行版的人&#xff0c;你应该知道它包含用于…

android应用对于内存的大小是有限制的,Android 的内存限制

2、单个应用可用的最大内存Android设备出厂以后&#xff0c;java虚拟机对单个应用的最大内存分配就确定下来了&#xff0c;超出这个值就会OOM。这个属性值是定义在/system/build.prop文件中的dalvik.vm.heapstartsize8m它表示堆分配的初始大小&#xff0c;它会影响到整个系统对…

winfrom 从网页中通过源代码截取文章

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;//引用流 using System.Net; using System.Text.RegularExpr…

和平精英android怎么写符号,和平精英名字符号大全 可用的名字特殊符号有哪些...

和平精英名字符号大全&#xff1b;和平精英玩家名可以使用特殊符号使自己的名字与众不同&#xff0c;有哪些特殊符号是可用的呢&#xff1f;下面一起来看看吧。和平精英名字特殊符号大全π-/≤≥≈<>≈≡<>∷∫∮∝∞∧∨⊥‖∠⌒⊙√∟⊿㏒㏑′〃〒&#xffe0;%℃…

android studio课程管理系统,8 个最优秀的 Android Studio 插件

3. Android Drawable Importer为了适应所有Android屏幕的大小和密度&#xff0c;每个Android项目都会包含drawable文件夹。任何具备Android开发经验的开发人员都知道&#xff0c;为了支持所有的屏幕尺寸&#xff0c;你必须给每个屏幕类型导入不同的画板。Android Drawable Imp…

EF – 8.多对多关联

5.6.10 《多对多关联&#xff08;上&#xff09;》 时长&#xff1a;9分57秒 难度&#xff1a;难 5.6.11《多对多关联&#xff08;下&#xff09;》 时长&#xff1a;8分50秒 难度&#xff1a;难 如果单独地把多对多关联的CRUD拿出来讲&#xff0c;确实比较难&#xff0c;但如果…

萌宠历险记html5游戏在线玩,《神武2》天外魔境现世 萌宠历险记首发

在《神武2》古老的传说中&#xff0c;曾经发生过一场未被记载的惨烈战役&#xff0c;据传曾有逆魔肆虐人间&#xff0c;后被三界众神击败并流放天外魔境&#xff0c;传说传到今天已经过去了一千年左右&#xff0c;而天外魔境也几乎无人再次踏入过&#xff0c;但天外魔境却隐藏着…

html实现牌匾效果,4款店面牌匾设计效果图 店铺门头亚克力牌匾样式制作设计图...

4款店面牌匾设计效果图 店铺门头亚克力牌匾样式制作设计图店铺门头亚克力牌匾样式设计很规整自然&#xff0c;同时这种材质也是很受现代人的欢迎&#xff0c;酒红色的色调很自然&#xff0c;醒目的视觉冲击也很不错&#xff0c;中央是点名和logo的设计&#xff0c;再加上图示&a…

html 实现格子效果,div+css实现九宫格效果

divcss实现九宫格效果 有3种方法&#xff1a;1、方法一&#xff1a;把九宫图切割成9张图&#xff0c;用9个div合在一起&#xff0c;改变宽高&#xff0c;实现。优点&#xff1a;兼容性100%支持&#xff0c;缺点div太多&#xff0c;使用不方便。2、方法二&#xff1a;把九宫图按…

如何升级成鸿蒙,如何将自己的华为手机升级成鸿蒙系统

看完6月2号晚上的华为鸿蒙系统发布会&#xff0c;大家肯定都跃跃欲试&#xff0c;想把自己的华为手机升级成鸿蒙系统了是吧&#xff1f;小编我也是迫不及待想要升级&#xff0c;借此机会小编我就和大家说一下&#xff0c;如何将自己的华为手机升级成鸿蒙系统。1、首先打开华为手…

[工具]iperf测试带宽

之前被要求测试网卡带宽能力&#xff0c;发现了iperf这个工具&#xff0c;记录下来防止遗忘。 iperf是个开源跨平台测试带宽工具&#xff0c;windows、linux、macOS……都支持&#xff0c;安装也挺方便。 1.安装 地址&#xff1a;https://iperf.fr/ 2.测试 参看&#xff1a;htt…

计算机能做什么英语对话,计算机英语会话∣实用电脑英语

原标题&#xff1a;计算机英语会话∣实用电脑英语Practical English for Computer实用电脑英语Key sentence必备表达All players must be ready for the game to start.所有玩家准备开始游戏。Are you sure you want to cancel your changes?你确认要取消改变吗&#xff1f;Ar…

Maven学习总结(七)——eclipse中使用Maven创建Web项目

Maven学习总结(七)——eclipse中使用Maven创建Web项目 一、创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project&#xff0c;如下图所示&#xff1a; 在New窗口中选择 Maven -> Maven Project。点击【next】如下图所示&#xff1a; 1.2 选择项目路径 根…