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操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程 ...
随机推荐
- 物联网防火墙himqtt源码之MQTT协议分析
物联网防火墙himqtt源码之MQTT协议分析 himqtt是首款完整源码的高性能MQTT物联网防火墙 - MQTT Application FireWall,C语言编写,采用epoll模式支持数十万 ...
- Net上传文件
Net上传文件 最近工作内容涉及到一点前端的内容,把学习到的内容记录下来,在今后的开发过程中,不要犯错.本篇只针对一些刚入职的小白及前端开发人员,大牛请绕道!~ 刚开始我们先不讲上传文件的防范问题,先 ...
- easyui-numberspinner实现双箭头效果
效果图: 实现了 [点击左上角 输入框的值加 0.5] [ 左下角 值减0.5 ] [ 右上角点击 值加1] [ 右下角点击 值减1] 代码: <span style="positio ...
- windows服务器入门 mysql的安装
钱的问题 只能安装mysql了 下载MySQL 5.5(其他的版本都可以的 只是在这里以mysql5.5为例)安装包(下载地址:http://dev.mysql.com/downloads/my ...
- C++比起C来新增的拓展
命名空间 register 在C语言横行的时代,为了加快运行速度,一些关键变量会被放入寄存器中,程序代码请求编译器把变量存入寄存器,然而C语言版的寄存器变量无法通过地址获得register变量.c++ ...
- Java基础---JavaJShell脚本工具
JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具. 启 ...
- Python senium 中页面属性
1.通过id定位元素2.通过class_name定位元素3.通过tag_name定位元素4.通过name定位元素5.通过link文字精确定位元素6.通过link文字模糊定位元素7.通过CSS定位元素8 ...
- 在订单服务中使用Hystrix进行熔断设置
使用Hystrix熔断(上) 在一个分布式系统里,一个服务依赖多个服务,可能存在某个服务调用失败, 比如超时.异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败, ...
- Anaconda安装报错
通用解决方案:先卸载,然后重新安装(注意安装路径全英文且不要有空格),勾选添加环境变量选项
- Django导出数据为Excel,调用浏览器下载
1. 环境 Django (2.1.10) + Python3.6 + xlwt (1.3.0) 操作系统使用的为:Windows 7 2. 接口代码 def now_export(request): ...
