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操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程 ...
随机推荐
- 100/200/400GE高速以太网:Autoneg & Link Training 自适应及链路学习相关姿势介绍
2019-10-31 08:29:22 先写个目录,陆续补齐 PAM4模式下50GE,100GE,200GE,400GE以太网为什么需要AN & LT功能?AN .Autoneg自适应功能介绍 ...
- 个人总结2019 ASP.NET面试题
1.什么是面向对象? 面向对象就是把一个人或事务的属性,比如名字,年龄这些定义在一个实体类里面.存和取的时候直接使用存取实体类就把这个人的名字,年龄这些全部存了,这个实体类就叫对象,这种思想就叫面向对 ...
- [转帖]可能是东半球最好的 Curl 学习指南,强烈建议收藏!
可能是东半球最好的 Curl 学习指南,强烈建议收藏! http://www.itpub.net/2019/09/30/3302/ 记得转帖过.. 简介 curl 是常用的命令行工具,用来请求 Web ...
- 题解 CF437C
基本思路---贪心 既然要求最小代价,当用一定顺序删除时代价一定最小,不难发现,每次都删去x,y中最小的,最后的总代价业一定最小! 因此就可以写出下面的简单的代码 代码 #include<ios ...
- 利用Python进行数据分析_Pandas_层次化索引
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 层次化索引主要解决低纬度形式处理高纬度数据的问题 import pandas ...
- QMap里面的值任然是一个QMap,在做循环插入的时候需要记得清空。
这个问题是我以前的一个问题,当时由于有其他的事情去处理就忘记了,前段时间我的项目要进行集成测试了,为了避免这个缺陷,只能再把这个问题想起来了,再进行解决.有很多问题你觉得不应该发生,其实很多时候都是逻 ...
- (四)Decorator设计模式解决GET/POST请求的乱码问题(转)
一.Decorator设计模式 1.1.Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强: 编写子类,覆盖需增强的方法. 使用Decorator设计模 ...
- SQL Server中语句的自动参数化
原文:SQL Server中语句的自动参数化 use master go if exists(select * from sys.databases where name = 'test') drop ...
- 开发环境,不用每次都ant自动编译
公司所用ant技术,每次改个java文件,配置文件都需要重新编译一次发布 在实际搭环境的过程发现,ant就是把项目目录下的文件编译成功后的搬移到到 ,Tomcat 运行环境配置的目录下,凡是修改的文件 ...
- 表格中的DOM
通过DOM来操作table跟在html中操作table是不一样的,下面来看看怎样通过DOM来操作table. 按照table的分布来创建: <table> <thead> &l ...
