Microsoft Visual Studio
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。最新版本为 Visual Studio 2017 版本,基于.NET Framework 4.5.2 。
建立和运行简单的C++程序
新建项目 -> Visual C++ -> 安装适用于C++的Windows 8.1 支持
新建Win32控制台应用程序
TODO
就是一种备注形式,一般这样的备注是程序员提醒自己待办事项,相当于备忘录一样的东西。
to do将要做的事情。
#include “stdafx.h”
stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)。
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include “stdafx.h”前的代码都是预编译的,它跳过#include “stdafx. h”指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的MFC实现文件第一条语句都是:#include “stdafx.h”。在它前面的所有代码将被忽略,所以其他的头文件应该在这一行后面被包含。否则,你将会得到“No such file or directory”这样让你百思不得其解的错误提示。
就是里面包含了程序需要用的头文件,相当于bits/stdc++.h。
解决方案和项目的区别
更新了项目中的变动,重新生成解决方案一般是无效的。但是可以右键重新扫描解决方案。
项目:
项目是构成某个程序的全部组件的容器,该程序可能是控制台程序、基于窗口的程序或某种别的程序。程序通常由一个或多个包含用户代码的源文件,可能还要加上包含其它辅助数据的文件组成。某个项目的所有文件都存储在相应的项目文件夹中,关于项目的详细信息存储在一个扩展名为.vcproj的xml文件中,该文件同样存储在相应的项目文件夹中。项目文件夹还包括其它文件夹,它们用来存储编译及链接项目时所产生的输出。
解决方案:
顾名思义,解决方案的含义是一种将所有程序和其它资源(它们是某个具体的数据处理问题的解决方案)聚集到一起的机制。例如,用于企业经营的分布式订单录入系统可能由若干个不同的程序组成,而各个程序是作为同一个解决方案内的项目开发的,因此,解决方案就是存储与一个或多个项目有关的所有信息的文件夹,这样就有一个或多个项目文件夹是解决方案文件夹的子文件夹。与解决方案中项目有关的信息存储在扩展名为.sln和.suo的两个文件中。当创建某个项目时,如果没有选择在现有的解决方案中添加该项目,那么系统将自动创建一个新的解决方案。
当创建项目及解决方案时,可以在同一个解决方案中添加更多的项目。我们可以在现有的解决方案中添加任意种类的项目,但通常只添加与该解决方案内现有项目相关的项目。一般来说,各个项目都应该有自己的解决方案,除非我们有很好的理由不这样做。
修改代码字体
工具-》选项-》环境
在VS中使用#include 的方法
1.如果安装了MinGW的直接在文件夹里面找到bits这个文件夹(注意里面一定要包含stdc++.h,貌似我的版本有两个bits文件夹),把里面内容复制粘贴到vs的头文件库(一般是在c盘的安装目录)里面。
VS主要目录\VC\include)
2.如果没有安装MinGW,那么自己在vs的include文件夹里面新建一个bits文件夹,里面新建一个名叫stdc++.h的头文件,里面写你常用的头文件。
targetver.h
定义程序运行的环境,如限制程序只能在XP下运行,限制程序在只能在Vin7下运行,或限制程序只能在XP以上系统运行,或限制程序只能在Server2003以上系统运行…
用法:
#ifndef WINVER //程序中没有定义WINVER宏时
#define WINVER 0x0600 // 定义WINVER为0x0600 //0x0600表示Windows Vista
#endif
#ifndef _WIN32_WINNT // 程序中没有定义_WIN32_WINNT宏时
#define _WIN32_WINNT 0x0600 // 定义_WIN32_WINNT为0x0600 //0x0600表示Windows Vista
#endif
附:
0×0500 表示Windows 2000,
0×0501为Windows XP,
0×0502为Windows Server 2003,
0×0600 为 Windows Vista。
ReadMe.txt
项目名.cpp
这个是预编译结果文件
Debug
“printf”不明确 红色波浪线 但是能编译通过
从warning 记录查到: 是因为数据类型定义的有些不一致。参数”: 从“float”转换到“unsigned int”,可能丢失数据。
重新打开项目就能行。
编译的时候可以加
-std=c++11修改编译标准
-fpermissive
snap操作
建项目-改字符集-导入三文件夹两文件-写头文件
字符集为多字节
三个snap文件夹
snap.h和snap.cpp
版本不符合
错误 1 error MSB8020: The build tools for v140 (Platform Toolset = ‘v140’) cannot be found. To build using the v140 build tools, please install v140 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting “Upgrade Solution…”. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets 64 5 k-truss
当前版本是12,但项目文件是14版本下创建的,请升级版本。
也可以修改项目属性:右键属性-》配置属性-》常规-》平台工具集