c++初步认识
经过漫长的C学习终于踏入C++的知识库当中了,还是保持以前的习惯会一步步通过写博客的形式来记录点滴学习记录,这种学习方式是相当慢的,但是对我来说是最踏实的,不浮躁,一步一个脚印。C++是一门啥语言呢,对于初学者是没话语权的,但它定是一门非常难学又非常有用的语言,相信在不久的将来我会把它踩在脚下为我所用,话不多说,学习正式开始。
①、开发工具:
这里采用VS 2008作为开发工具,另外再安装一个VC助手(Visual Assist X),具体下载地址:
开发工具下载:
http://www.uzzf.com/soft/17047.html
安装中可能会遇到如下问题,可以参考一下:
http://blog.csdn.net/tanaya/article/details/6736859
②开发工具的初步使用:这里先对工具的基本使用有个了解,之后在学习过程中再不断深入
第一步:新建c++工程:




再来看一下它在硬盘里面的目录:


接下来添加一个c++文件,以便呆会进行下面的第二步操作,具体做法如下:


点击添加:

这时再来看下硬盘上的目录有何变化:


接下来就可以进行编写啦~~
第二步:编写代码:
通常学习一门新东西都是从“Hello World!!”开始,这里也照例,只打印它,这个时候先不用管它的具体语法,先依葫芦画瓢就成,之后会慢慢学,这里有个直观认识就成:

上面代码没啥可说的,是人都能理解,代码写好之后,接着就是进行下一步了:
第三步:编译:


这时再来观测硬盘的目录又多了哪些文件:


【说明】:
编译:当前源代码编译成二进制目标文件(.obj文件)
链接(link):将生成的.obj文件与库文件.lib等文件链接,生成可执行文件(.exe文件)。
那如何生成可执行文件呢?


这时看下硬盘的本地目录又发生了什么变化:


接下来就可以行动了。
第四步:运行:


可以发现控制台输出一闪而过了,这样不便于观察,解决它的办法是:

这时再运行就不会闪了:

这就是最简单的C++程序,接下来演示一下文件的添加,这里弄一个加法和减法相关的运算,这里演示两种添加文件的方法:
①、直接在工程的硬盘目录中添加:

这时需将其添加到studio中,如何添加呢?



【注意】:如果只右击“头文件”或“源文件”添加现有项,则添加的只是相关的文件。
好了,接着编写代码:


接下来弄一个减法,以第二种方式来新建文件。
②、直接在studio中添加:



接着以同样的方式添加源文件:


接下来编写代码:


这时在main中去使用以上两个方法:

这时运行看效果:

这时再看下硬盘上的文件变化:


对于这些产生的文件其实我们可以清理掉,可以通过如下操作:




以上就是对vs 2008工具的基本使用,下面我们来想一下,这个程序能否跨平台,在linux上也能进行编译运行呢?下面来验证一下:
首先将工程拷贝到Linux中:


然后准备一个Makefile文件放到源文件目录中准备进行编译:



在正式编译之前,还需修改一个Makefile文件,因为之前是用来编译C程序的,而这次我们是学的c++,修改如下:
原来的Makefile内容:

修改之后:

这时来看下能否正常编译用vs2008编写的cpp程序:

通过这个实验也就说明:“以后在windows上开发的程序,都能放到Linux下编译和运行,只需要编写一个Makefile既可,而不需要修改程序”。
这是学习c++的一些准备工作,比较简单,但也能重要,接下来会一步步开始学习它,下节见~~
37:50
c++初步认识的更多相关文章
- 移动端之Android开发的几种方式的初步体验
目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...
- CSharpGL(29)初步封装Texture和Framebuffer
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...
- Android自定义View初步
经过上一篇的介绍,大家对于自定义View一定有了一定的认识,接下来我们就以实现一个图片下显示文字的自定义View来练习一下.废话不多说,下面进入我们的正题,首先看一下我们的思路,1.我们需要通过在va ...
- 初步认识Node 之Node为何物
很多人即便是在使用了Node之后也不知道它到底是什么,阅读完本文你应该会有一个初步的.具体的概念了. Node的目标 提供一种简单的构建可伸缩网络程序的方法.那么,什么是可伸缩网络程序呢?可伸缩 ...
- [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)
[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date 周六 10 一月 2015 By 钟谢伟 Category website develop ...
- 基于C/S架构的3D对战网络游戏C++框架_05搭建系统开发环境与Boost智能指针、内存池初步了解
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
- Azure底层架构的初步分析
之所以要写这样的一篇博文的目的是对于大多数搞IT的人来说,一般都会对这个topic很感兴趣,因为底层架构直接关乎到一个公有云平台的performance,其实最主要的原因是我们的客户对此也非常感兴趣, ...
- CozyRSS开发记录14-RSS源管理初步完工
CozyRSS开发记录14-RSS源管理初步完工 1.添加源的响应 DialogHost.Show有几个版本的重载,加一个DialogClosingEventHandler参数.我们让添加源对话框的添 ...
- 初步了解CPU
了解CPU By JackKing_defier 首先说明一下,本文内容主要是简单说明CPU的大致原理,所需要的前提知识我会提出,但是由于篇幅我不会再详细讲解需要的其他基础知识.默认学过工科基础课. ...
- Windows多线程多任务设计初步(转)
Windows多线程多任务设计初步 [前言:]当前流行的Windows操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程 ...
随机推荐
- Redis源码解析
一.src/server.c 中的redisCommandTable列出的所有redis支持的命令,其中字符串命令包括从get到mget:列表命令从rpush到rpoplpush:集合命令包括从sad ...
- 解决 Ceph v14.2.1 RGW使能压缩时遇到不生效的问
根据常规方法部署Ceph(14.2.1 or 14.2.2)集群+rgw后,通过命令“radosgw-admin zone placement modify --rgw-zone=default -- ...
- 最新 腾讯java校招面试题(含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.腾讯等10家互联网公司的校招Offer,因为某些自身原因最终选择了腾讯.6.7月主要是做系统复习.项目复盘.LeetCode ...
- Asp.Net Core集成Swagger
工作中一个公司会有很多个项目,项目之间的交互经常需要编写 API 来实现,但是编写文档是一件繁琐耗时的工作,并且随着 API 的迭代,每次都需要去更新维护接口文档,很多时候由于忘记或者人员交替的愿意造 ...
- Word 查找替换高级玩法系列之 -- 制表符对齐人工目录
自己在Word中输入目录的时候是不是总也对不齐最右边的页码?这就是人工制作目录的不足之处了,但因着它能让我们更自由的发挥,所以还是得到了一些人的偏爱.那么问题来了,到底要怎么对齐这种人工目录呢? 1. ...
- python学习-47 random模块
random模块 随机模块 random 的方法: print(random.random()) # [0,1] 的浮点数 print(random.randint(1,3)) print(rando ...
- 机器学习-EM算法的收敛证明
上一篇开头说过1983年,美国数学家吴建福(C.F. Jeff Wu)给出了EM算法在指数族分布以外的收敛性证明. EM算法的收敛性只要我们能够证明对数似然函数的值在迭代的过程中是增加的 即可: 证明 ...
- 『Python基础』第4节:基础数据类型初识
本节只是对基础数据类型做个简单介绍, 详情会在之后慢慢介绍 什么是数据类型? 我们人类可以分清数字与字符串的区别, 可是计算机不能. 虽然计算机很强大, 但在某种程度上又很傻, 除非你明确告诉它数字与 ...
- springboot 集成fastDfs
pom.xml 引入依赖 <dependency> <groupId>com.github.tobato</groupId> <artifactId>f ...
- msyql 去重
delete from userinfo where busi_id in (select busi_id from (select busi_id from userinfo group by bu ...
