Visual C++创建CLR的windows窗体应用程序和Visual C#的windows窗体应用程序区别?

我用VS2012里面的Visual C++创建CLR的windows窗体应用程序和Visual C#的windows窗体应用程序,
感觉都一样,其实有什么不同?是不是只是C++和C#的特性不同?创建windows窗体程序时,用哪个都一样?
还有,能不能通俗地解释下什么是托管编程?
谢谢。

先解释下托管程序,我们平时写的C/C++程序经常会使用指针呀、动态分配内存啊之类的技术,使用指针直接操作内存虽然高效,但程序写起来复杂且容易出漏洞(比如忘记回收内存等等),对复杂应用的开发,往往过于繁琐,于是便出现了托管的概念,所谓托管就是由系统(虚拟机)来负责分配、回收内存。CLR是Common Language Runtime的缩写,和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和回收)。
Visual C++创建CLR的windows窗体应用程序,是以C++为语言基础,使用CLR管理资源的编程模式,为了扩展性,也允许在托管代码中嵌入非托管代码(即传统的内存分配回收模式)。
而Visual C#的windows窗体应用程序,则直接使用C#语言和CLR管理资源,不能直接操作内存。
因此可以认为C#是更为纯正的CLR程序。
至于用哪个,建议用C#,倒是没有什么太大的优劣之分,只是C#是专门设计用来写.net程序的,而C++ CLR有种过度的意味。
个人看法,仅供参考。
温馨提示:内容为网友见解,仅供参考
无其他回答

Visual C++创建CLR的windows窗体应用程序和Visual C#的windows窗体应用程...
Visual C++创建CLR的windows窗体应用程序,是以C++为语言基础,使用CLR管理资源的编程模式,为了扩展性,也允许在托管代码中嵌入非托管代码(即传统的内存分配回收模式)。而Visual C#的windows窗体应用程序,则直接使用C#语言和CLR管理资源,不能直接操作内存。因此可以认为C#是更为纯正的CLR程序。至于用哪个...

...中有两个可以创建的项目:MFC 应用程序与WINDOWS Forms即窗体应用程序...
其实MFC是基于visual C++语言的开发,而WinForm是基于托管C++的开发,也就是说WinForm程序开发可以简单认为是通常所说的CLI或者是C++\/CLR。WinForm用C#语言来开发比较方便。

如何在VisualStudio中用C++做窗体应用程序?
创建新的Windows窗体项目在“文件”菜单上,单击“新建”,然后单击“项目”。在“项目类型”窗格中,选择“VisualC++”节点中的“CLR”,然后在“模板”窗格中选择“Windows窗体应用程序”。键入项目的名称,如“winformsapp”。您可以接受默认位置、键入一个位置或者浏览到要保存项目的目录。

使用C++\/CLI,也就是windows forms开发的应用程序能在裸机上运行么?
首先,裸机是指没有任何系统软件的软件的机器,所以你指的机器不能称之为裸机.其次,CLI程序必须要有CLR才能运行.就像JAVA程序必须要有JVM才能运行一样.1.:不是只用C++的API方法和MFC变得程序可以在干净的WINDOWS下运行,但是C#,C++\/CLI,JAVA都得在系统下先装点东西 2.是的 3.需要有VB6的运行库文件...

为什么我的visualstudio2012中没有windows窗体应用程序选项(c++...
Windows窗体应用程序应该是用VC开发.net的窗口程序,下面那些回答不知道在说些什么。VS2010的VC++下面是有点,但是我的2012也没找到,不过可以通过另外的方法创建Windows窗体程序。创建一个CLR的空项目,然后在解决方案资源管理器中选中项目,右键菜单中选择添加-->新建项,然后在VisualC++下面的UI里面选择...

VC++ 2005 新手问题!
2.关于你说的windows窗体应用程序,它是基于C++\/CLR的一种windows编程,关于CLR,我不是很了解,只是很少的接触了下,不过跟C++有不少区别的,它的面向对象程序更高。最后,虽说MFC被很多人说已经没用,不过在我看来,它生命力仍然强大,不要担心什么的,学吧,VB什么的,可能要谢幕了,用的人。。。

Visual C#.NET、Visual C++与Visual Basic三者的区别
C++与Visual Basic现在都淘汰的差不多了,Visual C++的升级版本是Visual C++.net,Visual Basic的升级版本是Visual Basic.NET,现在用的比较多的是Visual C#.NET和C++.net,他们的差别就不一一说了,如果你是想学软件成绩语言的话,最好是Visual C#.NET,她将是软件的利器!呵呵 我学的就是C#.NET ...

C++能不能像C#那样的设计可视化程序。可以简单的把控件拖进窗口之类的...
有啊 左边选clr 然后选windows窗体应用程序 或者MFC

C++\/CLI与C++托管扩展的主要语法区别是什么?
2. 跟踪引用:C++\/CLI的“跟踪引用”使用^%语法,类似于C#的ref或Visual Basic .NET的ByRef,传递的是地址而非值。这在处理数组时尤为明显,如在foreach循环中,^%确保不会创建副本,而是直接修改引用。3. 析构方法:C++\/CLI使用!类名()定义托管类型的析构方法,区别于MC++的~类名()。托管对象...

C++在C#的运行环境中怎么运行啊 ?
在CLR中运行C++,只要保证它是一个C++项目就可以与C#一样的运行,同样生成 中间代码 (MSIL),几乎没有什么区别。CLR(公共语言运行时,Common Language Runtime)和 Java虚拟机 一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。为了提高平台的可靠...

相似回答