STL/CLR, Compiler and Marshaling
来源:互联网 发布:sql case when 多字段 编辑:程序博客网 时间:2024/06/05 11:01
MSDN第9频道又采访了Visual C++类库组的项目经理Nikola Dudar和Sarita Bafna,以及质量控制组的Marina Polishchuk。尽管VisualC++项目组已经转移了工作重点,但是很少人注意到这一点。或许这些采访可以帮助你了解Visual C++项目组的工作。
为什么C++仍旧重要?
- 非托管的应用程序有很大的代码积累,而这些程序的升级工作仍旧在进行
- 性能是选择C++的重要因素。举例来说,游戏和杀毒程序更适合用非托管代码来编写。
- 多平台支持。虽然.Net号称是跨平台的,但是如果要编写真正的跨平台程序,开发的时候遵循C++标准还是很有必要的。
为什么C++程序员仍旧重要?
- C++程序员理解整个机器的运作,他们知道怎么写垃圾收集机制,甚至可以写机器代码
- C++程序员可以很容易的学会其他语言——C++已经是最难学的语言之一了
- C++程序员并不只使用一种语言。如果有必要的话,他们会选择汇编、C#或者Perl这样更适合特定任务的语言。
为什么Visual C++项目组转移了工作重点?
- C++程序员对于转到C#没有抵触心理,所以Visual C++项目组不认为有必要尽快实现VisualC#支持的所有特性,比如LINQ和WPF设计器
- C++程序员对于让他们的非托管程序调用其他语言的托管代码比用C++来写托管代码更有兴趣
- 核心模块,例如IE和Windows外壳会更加频繁地更新,而会有更多的非托管代码需要调用这些新的特性,为了这些特性,有必要在MFC中引入新的封装类来节省C++程序员的时间
Orcas中Visual C++的新特性:
- 托管代码互操作库。可扩展的托管数据类型和非托管数据类型的转换支持
- STL/CLR。使得托管代码可以利用旧的STL编写的算法
- Vista支持。对Vista中新的通用控件和文件对话框等界面元素的MFC封装。
- DevExpess重构引擎——将包含DevExpess的Refactor!? for C++。
Orcas之后的考虑
- 更新界面。有些Visual C++的代码是针对20年之前的硬件环境设计的,已经不适合现在的需要。新的Phoenix编译引擎使得重写前台变得更加容易。
- 太多现有的代码需要重构。新的Phoenix编译引擎使得代码分析变得更加容易。
- C++标准。新的C++标准TR1可能会在Orcas下一版本开发时成为正式标准。
- 多核支持。需要编写可以充分利用多CPU的代码。第一个尝试是LINQ。
结论
- MFC和非托管代码回来了
- 性能和多平台支持的重要性越来越低,托管代码仍旧具有很大的市场。
Visual C++项目组的其他动作
- ATL Server发布到了源代码共享站点CodePlex。这包含CAtlRegExp,在.Net和第三方类库(boost,TR1)的竞争下已经不再有必要维护一个单独的条件表达式标准了
- STL/CLR, Compiler and Marshaling
- STL/CLR, Compiler and Marshaling
- STL/CLR, Compiler and Marshaling
- CLR Inside Out: Marshaling between Managed and Unmanaged Code
- P/Invoke and Marshaling
- [.NET] /clr compiler options
- Marshaling between Managed and Unmanaged Code
- C# p/invoke: marshaling class between C# and C++ class
- .Net version and CLR
- CLR, CTS and CLS
- WIN32 and CLR
- multimap::insert (STL/CLR)--VS2010
- C# Marshaling
- GCC, LLVM, and compiler plugins
- advanced .net debugging and CLR internal blogs
- SQL Server DB Type and CLR Type
- CLR
- CLR
- [W3C文档翻译]选择PNG还是GIF?
- GIF Movie Gear - GIF制作编辑
- Gickr does software-free animated GIF creation
- Create Animated Gif Online
- GIF 完全自由
- STL/CLR, Compiler and Marshaling
- JAVA模拟POST
- 考研英语冲刺30天第21天:阅读模拟练习1
- As3 模拟As2.0 LoadVars传参
- 功能强大的HTTP协议工具包 - HttpClient
- Ajax 并发
- 用好Windows Live Writer
- Links for 2006-05-12 [del.icio.us]
- 在ASP.NET Atlas中调用Web Service——创建Mashup调用远端Web Service(基础知识以及简单示例)