0.6编译你的第一个程序

2023-12-24 00:18
文章标签 编译 程序 第一个 0.6

本文主要是介绍0.6编译你的第一个程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在写第一个程序之前,我们先来大致了解一下开发环境。

第一点,我们需要知道,程序是写在.cpp文件中的,而.cpp文件需要被添加到项目(project)中,project保存了所有需要编译的文件名和IDE的各种设置。每次重新打开项目,IDE都会恢复到你上一次离开时的状态。当我们选择编译程序时,项目就会告诉编译器和连接器哪些文件需要编译和连接。值得注意的是一个IDE中的项目文件是不能在另一个IDE中工作的,如果需要在另一个IDE上工作,你需要重新创建一个项目或者用它覆盖一个旧项目。

第二点,项目有多种类型。每次创建新项目时,都需要选择一个项目类型,本教程中的所有项目都是控制台项目(console project),这意味着程序可以从DOS或者Linux的命令行运行。控制台程序默认是没有图形用户界面的(GUI,graphical user interface)并会被编译成独立的可执行文件。这对学习C++是十分有益的,因为这将其复杂性降到最低。

第三点,当你为程序创建一个新项目时,许多IDE都会自动把项目添加到“workspace”(工作空间)或“solution”(解决方案)中。工作空间或解决方案是一个可以容纳一个或多个相关项目的容器,尽管可以向一个单一解决方案中添加多个项目,我们还是建议您为每个项目创建新的工作空间/解决方案,这样更简单并能减少出错的几率。

按照传统经验,每个程序员用一种新的语言写的第一个程序都是臭名昭著的“hello world”程序,我们也不会打破这个传统,也许以后你会感谢我们。

一个简单的程序

从这节课开始,你会看到许多C++代码,许多代码都大致长这个样子:

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

你可以把这段程序复制粘贴到你的IDE中,如果粘贴后带有行号记得去掉。

如果你用的是Visual Studio

点击“新建项目(New Project)”或上方导航栏中“文件新建项目(file-new-project)”,图中使用的是Visual Studio 2005,其他版本类似,左侧选择Visual C++,项目类型选择“win32”,然后选择“win32控制台应用程序(Win32 Console Application)”,“名称(Name)”一栏中填入项目名称,例如“HelloWorld”,“位置(Location)”一栏中填入或浏览项目保存位置,点击“确定(OK)”即可完成项目的创建,如下:

在左侧的解决方案资源管理器(Solution Explorer)中,Visual Studio已为你创建了一系列文件,包括stdafx.h,HelloWorld.cpp,stdafx.cpp。(译者注:其他版本与此可能不同,此处讲解仅帮助读者了解IDE基本工作流程)

文本编辑器中可能已经准备好了示例代码,如上图,选择删除它,然后键入如下代码:

#include "stdafx.h"
#include <iostream>
int main()
{std::cout << "Hello world!" << std::endl;return 0;
}

完成后如下:

接下来编译程序,点击上方导航栏中的“生成(builb)”-“生成解决方案(Build Solution)”,如果一切顺利,你将会在输出(output)窗口看到如下信息:

这意味着程序编译成功了!

如果要运行编译好的程序,按F5或者点击导航栏中的“调试(debug)”-“开始执行不调试(Start Without Debugging)”,就会看到如下结果:

这就是程序的运行结果。

:如果控制台窗口(黑窗口)没有任何文字,可能是受到了反病毒软件的干扰,尝试关闭反病毒软件然后重试一次。

对Visual Studio用户的提示:Visual Studio程序必须有如下开头:

#include "stdafx.h"

否则你可能收到编译器的警告,比如:c:testtest.cpp(21) : fatal error C1010: unexpected end of file while looking for precompiled header directive(寻找预编译头文件时发生致命错误)。

你也可以关闭预编译头文件,但使用预编译头文件能让你的程序编译得更快,所以我们建议保留他,除非你想编写跨平台应用。

我们给的示例程序不会包含这一行,因为它是针对特定编译器的。

如果你使用Code::Blocks

同样,点击“文件(file)”-“创建新项目(new project)”,会弹出如下窗口:

选择控制台应用程序(Console Application),点击创建(Create)按钮。

然后程序会让你选择保存项目,你可以保存在任何你喜欢的位置。

在“default workspace”栏会看到Console Application。

展开Console Application,打开“Sources”,双击main.cpp,你会看到hello world程序已经作为示例为你准备好了。

同样按ctrl+F9或者点击build(生成)-build,一切顺利的话,你会在Build log(生成日志)窗口看到如下内容:

这意味着程序编译成功了。

按ctrl+F10或者点击build菜单栏中的“run(运行)”,就会看到与前面类似的运行结果。

如果你使用命令行编译程序

译者注:windows中的cmd(命令行提示符)或者Linux中的终端(terminal)。在文本编辑器中(例如记事本)输入如下程序并保存命名为HelloWorld.cpp。

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

在命令行中输入(前面已经讲过):

g++ -o HelloWorld HelloWorld.cpp

就可编译、链接helloworld.cpp,输入“HelloWorld”(也可能是“./HelloWorld”)以运行程序,就可以看到程序的输出结果。

如果你暂时使用网页版的编译器

将代码输入文本框中,点击运行即可看到输出结果。

安装完整的IDE后,你还是需要重新学习一下这节课。

如果你使用其他IDE

那么要搞清楚下面几点:

  • 创建一个控制台项目
  • 向项目中添加.cpp文件(如果需要的话)
  • 将下面的代码写入文件
    #include <iostream>
    int main()
    {std::cout << "Hello world!" << std::endl;return 0;
    }
  • 编译项目
  • 运行项目

如果编译失败……(天哪,又出了什么事?!)

没关系,做个深呼吸,相信自己可以解决它。

首先,确保输入的代码正确无误,无任何拼写错误(不带行号),编译器的错误提示可以帮助你确定错误所在。

然后,对照《0.7节:常见的C++问题》。这节列举了一些常见的问题,包括许多人经常遇到的COFF错误。

如果还是不行的话,复制错误信息,到google上搜索(译者注:可以加上引号实现精确搜索,百度同样适用),很可能在你之前已经有人遇到并解决了这个问题。

如果你是用的是版本较老的C++编译器,可能给出编译器不知如何引入iostream的错误提示,如果遇到这种情况,可以尝试把代码修改为:

#include <iostream.h>
int main()
{cout << "Hello world!" << endl;return 0;
}

建议升级编译器到最新版本。

如果程序成功运行但迅速闪退(窗口闪烁一下,然后很快消失)

某些编译器可能存在这种问题,比如Dev-C++,解决方案我们写在《0.7节:常见的C++问题》。

结语

祝贺你完成了最艰难的阶段(安装IDE并编译你的第一个程序),这意味着你迈出了第一步。

如果看不懂HelloWorld程序中每一行每一个单词符号的意思,不要担心,我们会在《1.1节:程序的结构》中详细地解释每一行。

转载请参看关于博客页面相关要求。

这篇关于0.6编译你的第一个程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529965

相关文章

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati