11. 没有与参数列表匹配的重载函数 TextOutW()
VS2017中视图类OnDraw方法代码如下
void CDIPDemoView::OnDraw(CDC* pDC)
{
CDIPDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
pDC->TextOut(10, 10, "我爱你中国"); //调用CDC类的TextOut方法输出文本
// TODO: 在此处为本机数据添加绘制代码
}
提示错误:没有与参数列表匹配的重载函数,即参数不正确,应改为:
pDC->TextOut(10,10,_T("我爱你中国");
字符(串)有两种类型,char()和wchar_t()型,分别用于多字节字符和unicode字符,两种类型分别有一套对应的字符串处理函数(包括C/C++标准库,WindowsAPI,MFC等)。MFC的类和函数会根据工程设置(默认为wchar_t)自动匹配,因此这时Format要求的字符串参数为wchar_t*,所以要在字符串前加上“L”表示是wchar_t型字符串,或者加上_T(),_T同样会根据工程设置自动匹配char或wchar_t。
若使用的VC版本比较高,采用的是宽字符,一般这种情况下我们在字符串前加 L:
TextOut(10,10,L"请输入名称!");
或者加 TEXT:
TextOut(10,10,TEXT("请输入名称!"));
但为了程序的适用性,使用_T更好些。因为用_T会自动按你程序所在环境来决定是否是宽字符还是简单的ASCII,更省事!
10.C++不允许使用不完整类型
定义对象之前,编译器必须看到完整的类定义,对应自己文件里是否缺少包含的头文件。
9. C#各版本功能介绍
C#2.0主要功能,参见 http://www.cnblogs.com/fecktty2013/p/csharp2.html
C#3.0主要功能,参见 http://www.cnblogs.com/fecktty2013/p/csharp3.html
C#4.0主要功能,参见 http://www.cnblogs.com/fecktty2013/p/csharp4.html
C#5.0新增功能,参见 http://www.csdn.net/article/2011-05-24/298498
C#6.0新增功能,参见 http://aehyok.com/Blog/Detail/66.html
8. .NET Framework各版本功能示意图
此图转载于 http://www.xcode.me/more/microsoft-net-framework-version-define
7. Visual Studio、.NET Framework及C#版本搭载关系介绍
Visual Studio版本 | .NET Framework版本 | C#版本 | 增加功能 |
---|---|---|---|
Visual Studio 2002 | .NET Framework 1.0 | C#1.0 | |
Visual Studio 2003 | .NET Framework 1.1 | C#1.2 | |
Visual Studio 2005 | .NET Framework 2.0 | C#2.0 | |
Visual Studio 2008 | .NET Framework 3.5 | C#3.0 | 1.自动提示和重构; 2.新增WCF; 3.增加Windows Live;4.优化SQL数据库发布解决方案;5.拼写检查器 |
Visual Studio 2010 | .NET Framework 4.0 | C#4.0 | 1.支持Visual Studio套件扩展;2.支持.NuGet管理.NET套件;3.支持多显示器、支持Office;4.IDE增强,更好支持C++;5.Quick Search特性;6.新增基于.NET平台语言F# |
Visual Studio 2012 | .NET Framework 4.5 | C#5.0 C#6.0 | 1.支持Windows 8 Metro;2.TFS2012,生命周期管理;3.界面优化;4.集成ASP.NET MVC4,全面支持移动和HTML5,WF4.5性能成熟,状态及工作流回归目设计器支持C#表达式 |
Visual Studio 2013 | .NET Framework 4.6 | C# 5.0 C#6.0 | 1.支持Windows 8.1 App开发;2. TF2013,增加敏捷项目管理;3.改进版本控制功能;4.对潜在内存泄漏问题进行提示;5.增加测试用例管理功能,优化测试管理。 |
Visual Studio 2015 | .NET Framework 4.6 .NET Core5(Beta版) | C#5.0 C#6.0 | 1.自定义窗口布局,登录VS后可切换开发环境布局;2.更优的代码编辑器,"Rolsyn"提供可选的修复代码方案;3.Shared Project集成;4.Bower和NPM中的代码智能提示;5.调试Lambdas表达式 |
值得说明的是.NET Framework 2.0及以上版本支持向Visual Studio2008以上版本的兼容搭载,例如在Visual Studio2010版,仍然可以安装.NET Framework2.0,C#版本也做相应变化,但Visual Studio2010最高只能支持.NET Framework4.0。其他例子不做赘述。
VS各版本功能参见:
VS2010 http://developer.51cto.com/art/201003/191113.htm
VS2012 http://tech.it168.com/a2012/0606/1357/000001357266.shtml
VS2013 http://www.cnblogs.com/ShaYeBlog/p/4108074.html
VS2015 http://www.codeceo.com/article/5-vs-2015-preview-features.html
6. MVSC版本号对应情况
MSVC | Version |
---|---|
MSVC++ 14.0 | _MSC_VER == 1900 (Visual Studio 2015) |
MSVC++ 12.0 | _MSC_VER == 1800 (Visual Studio 2013) |
MSVC++ 11.0 | _MSC_VER == 1700 (Visual Studio 2012) |
MSVC++ 10.0 | _MSC_VER == 1600 (Visual Studio 2010) |
MSVC++ 9.0 | _MSC_VER == 1500 (Visual Studio 2008) |
MSVC++ 8.0 | _MSC_VER== 1400 (Visual Studio 2005) |
MSVC++ 7.1 | _MSC_VER== 1310 (Visual Studio 2003) |
MSVC++ 7.0 | _MSC_VER== 1300 |
MSVC++ 6.0 | _MSC_VER== 1200 |
MSVC++ 5.0 | _MSC_VER== 1100 |
5. Visual Studio Code介绍
Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。
4. Xamarin介绍
百度百科:Xamarin
Xamarin is a San Fancisco, California based software company created in May 2011 by the engineers that created Mono, MonoTouch and Mono for Android which arecross-platform implementations of the Common Language Infrastructure(CLI) and Common Language Specifications(often called Microsoft.NET).
Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。
为一个跨平台开发框架,Xamarin.Mobile有很多优点。在这一框架内,开发iOS、Android、Windows Phone和Mac App应用可以不用转到Eclipse 或者额外购买Mac并使用Xcode,而继续在Visual Studio之中使用C#与.NET Framework进行。
Xamarin Studio是一个用C#语言开发跨平台应用的集成开发环境,它和iOS以及Android SDK紧密整合。
3. VS中注释快捷键
注释:先CTRL+K,然后CTRL+C
取消注释: 先CTRL+K,然后CTRL+U
2. 未初始化变量的输出结果
int i ;
printf("i=%d\n",i) ;
cout<<i;
结果为-858993460 即0xCCCCCCCC
1. VS调试的时候命令符窗口一闪而过,看不到自己的调试结果怎么办?
system("pause");
或者这样:
Console.Readline();