ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:29.75KB ,
资源ID:6400929      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6400929.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言外文资料翻译及原文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言外文资料翻译及原文.docx

1、C语言外文资料翻译及原文.NET和C#简介为了理解.NET的重要性,考虑一下近10年来出现的许多Windows技术的本质会有一定的帮助。尽管所有的Windows操作系统在表面上看来完全不同,但从Windows 3.1(1992年)到Windows Server 2003,在内核上都有相同的Windows API。在我们转而使用Windows的新版本时,API中增加了非常多的新功能,但这是一个演化和扩展API的过程,并非是替换它。向后兼容性是Windows技术的极其重要的特性,也是Windows平台的一个长处,但它有一个很大的缺点。每次某项技术进行演化,增加了新功能后,都会比它以前更复杂。很明显

2、,对此必须进行改进。Microsoft不可能一直扩展这些开发工具和语言,使它们越来越复杂,既要保证能跟上最新硬件的发展步伐,又要与20世纪90年代初开始流行的Windows产品向后兼容。如果要得到一种简单而专业化的语言、环境和开发工具,让开发人员轻松地编写优秀的软件,就需要一种新的开端。这就是C#和.NET的作用。粗略地说,.NET是一种在Windows上编程的新架构 一种新API。C#是一种新语言,它可以利用.NET Framework及其开发环境中的所有新特性,以及在最近20年来出现的面向对象的编程方法。在继续介绍前,必须先说明,向后兼容性并没有在这个演化进程中失去。现有的程序仍可以使用,

3、.NET也兼容现有的软件。软件组件在Windows上的通信,现在几乎都是使用COM实现的。因此,.NET能够提供现有COM组件的包装器(wrapper),以便.NET组件与之通信。Microsoft已经扩展了C+,提供了一种新语言J#,还对VB进行了很多改进,把它转变成为功能更强大的VB.NET,并允许把用这些语言编写的代码用于.NET环境。但这些语言都因有多年演化的痕迹,所以不能完全用现在的技术来编写。在使用.NET Framework 1.0和Visual Studio .NET 2002时,要创建可移动应用程序,就必须下载Microsoft Mobile Internet Toolkit

4、(MMIT)。而现在,有了.NET Framework 1.1和Visual Studio .NET 2003,就可以直接创建可移动应用程序,不需要下载其他工具包了。在使用Visual Studio .NET 2003创建新项目时,这是显而易见的。例如,在查看可以创建的C#项目类型列表时,会看到ASP.NET Mobile Web Application和Smart Device Application。ASP.NET Mobile Web Application项目类型可以用于建立基于Web的可移动应用程序。Smart Device Application项目类型可以创建用于Pocket P

5、C或其他Windows CE设备的应用程序。为Windows CE设备建立的第三方客户应用程序利用的是Compact Framework,这是.NET Framework的删节版本。打开任何一种可移动项目类型,系统就会在Visual Studio .NET工具箱中列出一组可用的可移动服务器控件,然后用户就可以使用这些控件创建应用程序。在新的架构中,另一个大的变化是ADO.NET。ADO.NET是访问和处理数据的.NET方式,现在它有两个新的数据提供程序,其中一个用于ODBC,另一个用于Oracle。在使用.NET Framework 1.0时,就可以使用ODBC数据提供程序,但它需要单独下载。

6、另外,一旦下载,这个数据提供程序的命名空间就是Microsoft.Data.Odbc。而在.NET Framework 1.1中,ODBC数据提供程序是内置的,不需要单独下载。而且可以通过System.Data.Odbc命名空间来使用ODBC数据源,访问ODBC数据连接、数据适配器和数据读取器对象。另一个新的数据提供程序用于处理Oracle数据库。该数据库在企业中的应用非常广泛,缺乏Oracle数据提供程序常常是.NET进入企业的一大障碍。为了使用这个新的数据提供程序,需要在项目中引用System.Data.OracleClient命名空间。并发执行side-by-side execution

7、是指在同一个服务器上运行应用程序的多个版本,其中不同的应用程序版本使用不同的运行库版本。Microsoft一直都向开发人员承诺提供这个功能,但该功能总是很难可视化,因为只能使用Framework的一个版本。在发布了Framework的第2版.NET Framework 1.1后,就可以看到Microsoft提供的这个功能了。现在,可以创建.NET应用程序面向.NET Framework 1.1的新版本,同时还可以让面向.NET Framework 1.0的旧应用程序像以前那样继续运行。最近,许多Internet使用IP 4运行,IP4也称为IPv4。它提供了IP地址,例如255.255.255

8、. 255。.NET Framework 1.1现在支持IPv6,IPv6是在1995年创建的,解决了IPv4所面临的许多问题。如果人们一直采用IPv4,将很快用尽可用的IP地址。.NET Framework 1.1通过System.Net命名空间支持IPv6,ASP.NET和XML Web服务也支持IPv6。在升级.NET Framework时,还对Visual Studio .NET本身进行了升级。注意,在开始页面上有一些新图形,该页面上对象的组织方式也有所不同。另外,新IDE最重大的变化是,一旦安装,就不是简单地把Visual Studio .NET 2002升级为Visual Stud

9、io .NET 2003,而是安装了一个全新的IDE版本。如果机器上已经安装了Visual Studio .NET 2002,就会得到两个完全独立的VS.NET IDE。这样,如果要创建和使用面向.NET Framework 1.0的应用程序,就使用VS.NET 2002;如果要创建和使用面向.NET Framework 1.1的应用程序,就使用VS.NET 2003。还应注意,在打开用VS.NET 2002创建的项目时,系统会询问是否要把项目升级为VS.NET 2003项目,如果回答“是”,就会把项目升级为面向.NET Framework 1.1的应用程序。注意,这是一个不可逆的过程。除了这

10、些较大的变化之外,在VS.NET 2003的IDE中,Intellisense的智能化程度更高,代码自动完成功能更强。C#在某种程度上可以看作是.NET面向Windows环境的一种编程语言。在过去的十几年里,Microsoft给Windows和 Windows API添加了许多功能,VB和C+也经历了许多变化。虽然VB和C+最终已成为非常强大的语言,但这两种语言也存在问题,因为它们保留了原来的一些内容。对于Visual Basic来说,它的主要优点是很容易理解,许多编程工作都很容易完成,基本上隐藏了Windows API和COM组件结构的内涵。其缺点是Visual Basic从来没有实现真正意

11、义上的面向对象,所以大型应用程序很难分解和维护。另外,因为VB的语法继承于BASIC的早期版本(BASIC主要是为了让初学者更容易理解,而不是为了编写大型商业应用程序),所以不能真正成为结构化或面向对象的编程语言。另一方面,C+在ANSI C+语言定义中有其自己的根。它与ANSI不完全兼容,因为Microsoft是在ANSI定义标准化之前编写C+编译器的,但已经相当接近了。遗憾的是,这导致了两个问题。其一,ANSI C+是在十几年前的技术条件下开发的,因此不支持现在的概念(例如Unicode字符串和生成XML文档),某些古老的语法结构是为以前的编译器设计的(例如成员函数的声明和定义是分开的)。

12、其二,Microsoft同时还试图把C+演变为一种用于在Windows上执行高性能任务的语言 在语言中避免添加大量Microsoft专用的关键字和各种库。其结果是在Windows中,该语言成为了一种非常杂乱的语言。让一个C+开发人员说说字符串有多少个定义方式就可以说明这一点:char*、LPTSTR、string、CString (MFC 版本)、CString (WTL 版本)、wchar_t*和 OLECHAR*等。现在进入.NET时代 一种全新的环境,它对这两种语言都进行了新的扩展。Microsoft给C+添加了许多Microsoft专用的关键字,并把VB演变为VB.NET,保留了一些基

13、本的VB语法,但在设计上完全不同,从实际应用的角度来看,VB.NET是一种新语言。在这里,Microsoft决定给开发人员另一个选择 专门用于.NET、具有新起点的语言, 即Visual C# .NET。Microsoft在正式场合把C#描述为一种简单、现代、面向对象、类型非常安全、派生于C和C+的编程语言。大多数独立的评论员对其说法是“派生于C、 C+ 和Java”。这种描述在技术上是非常准确的,但没有涉及到该语言的真正优点。从语法上看,C#非常类似于C+和Java,许多关键字都是相同的,C#也使用类似于C+和Java的块结构,并用括号()来标记代码块,用分号分隔各行语句。对C#代码的第一印

14、象是它非常类似于C+或Java代码。但在这些表面上的类似性后面,C#学习起来要比C+容易得多,但比Java难一些。其设计与现代开发工具的适应性要比其他语言更高,它同时具有Visual Basic的易用性、高性能以及C+的低级内存访问性。C#包括以下一些特性: 完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。 定义完整、一致的基本类型集。 对自动生成XML文档说明的内置支持。 自动清理动态分配的内存。 可以用用户定义的特性来标记类或方法。这可以用于文档说明,对编译有一定的影响(例如,把方法标记为只在调试时编译)。 对.NET基类库的完全访问权,并易于访问Windows API

15、。 可以使用指针和直接内存访问,但C#语言可以在没有它们的条件下访问内存。 以VB的风格支持属性和事件。 改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用。 C#可以用于编写ASP.NET动态Web页面和XML Web服务。应该指出,对于上述大多数特性,VB.NET和Managed C+也具备。但C#从一开始就使用.NET,对.NET特性的支持不仅是完整的,而且提供了比其他语言更合适的语法。C#语言本身非常类似于Java,但其中有一些改进,因为Java并不是为应用于.NET环境而设计的。在结束这个主题前,还要指

16、出C#的两个局限性。其一是该语言不适用于编写时间急迫或性能非常高的代码,例如一个要运行1000或1050次的循环,并在不需要这些循环时,立即清理它们所占用的资源。在这方面,C+可能仍是所有低级语言中的佼佼者。其二是C#缺乏性能极高的应用程序所需要的关键功能,包括保证在代码的特定地方运行的内联函数和析构函数。但这类应用程序非常少。.NET运行在Windows 98、2000、XP和2003上,要使用.NET编写代码,需要安装.NET SDK,除非使用内置了.NET Framework 1.0和1.1的Windows Server 2003。除非要使用文本编辑器或其他第三方开发环境来编写C#代码,

17、否则一般使用Visual Studio .NET 2003。运行托管代码不需要安装完整的SDK,但需要.NET运行库。需要把.NET运行库分布到还没有安装它的客户机上。.NET的语言无关性还有一些实际的限制。特别是中间语言在设计时就打算实现某些特殊的编程方法,这表示.NET语言必须与编程方法兼容,Microsoft为IL选择的特定道路是传统的面向对象的编程,带有类的单一继承性。除了传统的面向对象编程外,中间语言还引入了接口的概念,它们显示了在带有COM的Windows下的第一个实现方式。.NET接口与COM接口不同,它们不需要支持任何COM基础结构,例如,它们不是派生自IUnknown,也没有

18、对应的GUID。但它们与COM接口共享下述理念:提供一个契约,实现给定接口的类必须提供该接口指定的方法和属性的实现方式。前面介绍了使用.NET意味着要编译为中间语言,即需要使用传统的面向对象的方法来编程。但这并不能提供语言的互操作性。毕竟,C+和Java都使用相同的面向对象的范型,但它们仍不是可交互操作的语言。下面需要详细探讨一下语言互操作性的概念。首先,需要确定一下语言互操作性的含义。毕竟,COM允许以不同语言编写的组件一起工作,即可以调用彼此的方法。这就足够了吗?COM是一个二进制标准,允许组件实例化其他组件,调用它们的方法或属性,而无需考虑编写相关组件的语言。但为了实现这个功能,每个对象

19、都必须通过COM运行库来实例化,通过接口来访问。根据关系组件的线程模型,不同线程上内存空间和运行组件之间要编组数据,这还可能造成很大的性能损失。在极端情况下,组件驻留在可执行文件中,而不是DLL文件中,还必须创建单独的过程来运行它们。重要的是组件要能与其他组件通信,但仅通过COM运行库进行通信。无论COM是用于允许使用不同语言的组件直接彼此通信,或者创建彼此的实例,系统都把COM作为中间件来处理。不仅如此,COM结构还不允许利用继承实现,即它丧失了面向对象编程的许多优势。与其他编程语言一样,中间语言提供了许多预定义的基本数据类型。它的一个特性是值类型和引用类型有明显的区别。对于值类型,变量直接

20、保存其数据,而对于引用类型,变量仅保存地址,对应的数据可以在该地址中找到。在C+中,引用类型类似于通过指针来访问变量,而在Visual Basic中,与引用类型最相似的是对象,VB6总是通过引用来访问对象。中间语言也有数据存储的规范:引用类型的实例总是存储在一个名为托管堆的内存区域中,值类型一般存储在堆栈中(但如果值类型在引用类型中声明为字段,它们就内联存储在堆中)。.NET And C# IntroductionIn order to understand the significance of .NET, it is useful to remind ourselves of the na

21、ture of many of the Windows technologies that have appeared in the past ten years or so. Although they may look quite different on the surface, all of the Windows operating systems from Windows 3.1 (introduced in 1992) through Windows Server 2003 have the same familiar Windows API at their core. As

22、weve progressed through new versions of Windows, huge numbers of new functions have been added to the API, but this has been a process of evolving and extending the API rather than replacing it.While backward compatibility has been a crucial feature of Windows technologies and one of the strengths o

23、f the Windows platform, it does have a big disadvantage. Every time some technology evolves and adds new features, it ends up a bit more complicated than it was before.It was clear that something had to change. Microsoft couldnt go on forever extending the same develop- ment tools and languages, alw

24、ays making them more and more complex in order to satisfy the conflict- ing demands of keeping up with the newest hardware and maintaining backward compatibility with what was around when Windows first became popular in the early 1990s. There comes a point where you have to start with a clean slate

25、if you want a simple yet sophisticated set of languages, environ- ments, and developer tools, which make it easy for developers to write state-of-the-art software.This fresh start is what C# and .NET are all about. Roughly speaking, .NET is a new frameworka new APIfor programming on the Windows plat

26、form. Along with the .NET Framework, C# is a new lan- guage that has been designed from scratch to work with .NET, as well as to take advantage of all the progress in developer environments and in our understanding of object-oriented programming princi- ples that have taken place over the past 20 ye

27、ars.Before we continue, we should make it clear that backward compatibility has not been lost in the pro- cess. Existing programs will continue to work, and .NET was designed with the ability to work with existing software. Communication between software components on Windows presently almost entire

28、ly takes place using COM. Taking account of this, .NET does have the ability to provide wrappers around existing COM components so that .NET components can talk to them.It is true that you dont need to learn C# in order to write code for .NET. Microsoft has extended C+, provided another new language

29、 called J#, and made substantial changes to Visual Basic to turn it into the more powerful language Visual Basic .NET, in order to allow code written in either of these lan- guages to target the .NET environment. These other languages, however, are hampered by the legacy of having evolved over the y

30、ears rather than having been written from the start with todays technology in mind.When using the .NET Framework 1.0 and Visual Studio .NET 2002, to be able to build mobile applica- tions you had to go out and download the Microsoft Mobile Internet Toolkit (MMIT). Now, with the .NET Framework 1.1 an

31、d Visual Studio .NET 2003, this is built right in and therefore no separate down- load is required.This is all quite evident when you create a new project using Visual Studio .NET 2003. For instance, when you look at the list of available C# project types you can create, you will find ASP.NET Mobile

32、 Web Application and Smart Device Application. You would use the ASP.NET Mobile Web Application project type to build Web-based mobile applications (as the name describes). Building a Smart Device Application allows you to create applications for the Pocket PC or any other Windows CE device. The thick-client applications built for a Windows CE device utilize the Compact Framework, a trimmed- down version of the .NET Framework.Opening one of these mobile project types, you will then be presented with a list of available mobile server co

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1