分类目录

链接

2011 年 12 月
 1234
567891011
12131415161718
19202122232425
262728293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > .NET > 正文
深入.net实质讨论系列(四)
.NET 暂无评论 阅读(1,800)

第Ⅰ部分 C# 语 言

(2) Visual C++ 2005

Visual C++ 6有许多Microsoft对Windows的特定扩展。通过Visual C++ .NET,又加入了更多的扩展内容,来支持.NET Framework。现有的C++源代码会继续编译为内部可执行代码,不会有修改,但它会独立于.NET运行库运行。如果让C++代码在.NET Framework中运行,就可以在代码的开头添加下述命令:

#using <mscorlib.dll>

还可以把标记/clr 传递给编译器,这样编译器假定要编译托管代码,因此会生成中间语言,而不是内部机器码。C++的一个有趣的问题是在编译托管代码时,编译器可以生成包含内嵌本机可执行代码的IL。这表示在C++代码中可以把托管类型和非托管类型合并起来,因此托管C++代码:

class MyClass

{

定义了一个普通的C++类,而代码:

__gc class MyClass

{

生成了一个托管类,就好像使用C#或Visual Basic 2005编写类一样。实际上,托管C++比C#更优越的一点是可以在托管C++代码中调用非托管C++类,而不必采用COM交互功能。

如果在托管类型上试图使用.NET不支持的特性(例如,模板或类的多继承),编译器就会出现一个错误。另外,在使用托管类时,还需要使用非标准的C++特性(例如上述代码中的__gc关键字)。

因为C++允许低级指针操作,C++编译器不能生成可以通过CLR内存类型安全测试的代码。如果CLR把代码标识为内存类型安全是非常重要的,就需要用其他一些语言编写源代码,例如C# 或Visual Basic 2005。

(3) Visual J# 2005

最新添加的语言是Visual J# 2005。在.NET Framework 1.1版本推出之前,用户必须下载相应的软件,才能使用J#。现在J#语言内置于.NET Framework中。因此,J#用户可以利用Visual Studio 2005的所有常见特性。Microsoft希望大多数J++用户认为他们在使用.NET时,将很容易使用J#。J#不使用Java运行库,而是使用与其他.NET兼容语言一样的基类库。这说明,与C#和Visual Basic 2005一样,可以使用J#创建ASP.NET Web应用程序、Windows窗体、XML Web服务和其他应用程序。

(4) 脚本语言

脚本语言仍在使用之中,但由于.NET的推出,它们的重要性在降低。与此同时,JScript升级到了JScript.NET。现在ASP.NET页面可以用JScript.NET编写,可以把JScript.NET当作一种编译语言来运行,而不是解释性的语言,也可以编写强类型化的JScript.NET代码。有了ASP.NET后,就没有必要在服务器端的Web页面上使用脚本语言了,但VBA仍用作Office文档和Visual Studio宏语言。

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:深入.net实质讨论系列(四) | Bruce's Blog

发表评论

留言无头像?