首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

老程序员的困惑,关于VC .net的初级有关问题

2012-01-05 
老程序员的困惑,关于VC .net的初级问题我一直在使用VisualC++目前想转向VisualC++.net查了一些资料,看到Vi

老程序员的困惑,关于VC .net的初级问题
我一直在使用Visual   C++
目前想转向   Visual   C++   .net

查了一些资料,看到Visual   C++   .net是开发托管程序的,所有的程序要编译成CLI

但是好像托管程序运行效率不高。

我的问题是,能不能使用C++和C++   .net混合编程,或者C#和C++混合编程,这样,既可以使用新的.net功能,又可以得到高效率程序。
有没有这方面的资料可以借鉴的。



[解决办法]
如果要效率,就不要使用VC.NET;
如果要使用VC.NET,就可能要放弃一些效率与灵活性,最好不要混合用;
使用看场景,最好学学VC.NET也好
[解决办法]
可以说,你已经被误导了.真正的C#不是效率低.只是在编译的时候可能会慢一点.这个是一些比较深刻的问题,我也不太明白,但是你一定要有一个概念,C#的效率并不低.
还有你一定要有自己的方向,别什么都用,还想混合使用,那是不太现实的.最好是转向C#或者是.NET, .NET是将来的方向.
我以前也是C++的,现在转向了C#,感觉C#有点有很多.我以前在网上看过一些说C#效率低的问题,被一个牛人鞭笞了一通.具体位置我忘了,你可以百度一下就可以找到
[解决办法]
说一下我的看法:
1)C#编译很快。C++ 的项目,以前做过编译一次要两个小时,另外一个CLR的C++,LINK要一个小时,谁吃得消。
2)C++可以双向的和c#打交道。有些复杂,但是不是很困难。
3)不清楚C++.net 能否写WPF 。 好像不。
4)如果要混合代码,要特别注意对象是Managed 还是Native的。名字一样,含义差太多。
[解决办法]
1.Visual C++ .net可以写非CLI程序的,在工程设置里把General 中间倒数第二项(VC2005)设成No Common Language Runtime support. 这样CLI程序中的特性功能就不能用了.

2.你写的非CLI程序能编译成CLI程序运行(把1所说的那个选项打开就行),但是用了CLI特性的工程不能直接关掉CLI编译.

3.托管程序运行效率会比非托管的低,但是这种效率损失是可以接受的(对于大多数应用程序来说,感觉不到,即使工程很大,效率损失也在接受的范围内). 换来的好处是开发效率提高(有很多新功能,可读性,可维护性提高,代码混写也是新功能之一).

4.如果要混写不同语言的代码,必须编译到CLI平台.在CLI平台上的混合代码是无缝连接的.

热点排行