
6个回答
展开全部
楼主你的问题很抽象哈
C#的特性
现在,微软仍在一边继续反驳其竞争对手Sun控告它改变了Java语言的诉讼,一边在对美国反垄断指控顽抗到底,但与此同时,微软的天才程序员们也在技术上进行着一场补救的措施。那就是他们已经开发出来的C#语言,这是一种非常类似于Java的语言,微软深知即便是微软阵营中也有着相当一部分人喜欢Java语言,所以这次干脆就用C#来满足他们的愿望,这是一种非常完美的语言,适用于各种操作系统,并且与Windows紧密地结合在一起。
微软表示这种新的程序设计语言并不针对Java,但它将是C++的革新。而这正是Java所追求的两个主要目标之一(另一目标当然就是可移植性)。微软一直梦想着能开发出能与Java在Windows NT系统上抗衡的语言。C#的自动内存管理以及和Java一样都使用的C语言语法,似乎让这个理想成为现实。
微软称C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C++的强大功能。但这种说法是否准确呢?由于C#的结构很像Visual Basic的ActiveX,它显然是冲着RAD开发者来的。但同时,“C#提供了C++的强大功能”这种说法也稍嫌夸张,将来很可能变成空头支票。
对某一对象接口的更新,微软称之为“继承”,当然“继承”是就“对象”而言的。但是,虽然“对象”这个词我们经常碰到,却很少有人真正理解了它的含义。微软的用户,甚至它自己的员工都经常把“对象”和“接口”弄混。所以微软干脆就用接口来定义各种对象,结果导致了“面向对象编程”(OOP)被微软弄得乱七八糟。现在,微软又在大踏步地前进了(虽然它内心还是很小心),它把它建立在接口基础上的“对象”集成到了开发工具里。不过它走得实在过了头,它甚至把对另一对象接口的更新称之为“继承”。
这个“继承”给程序员们带来的好处就是语言无关——只要接口维持其兼容性,用Visual Basic写成的对象在C#和C++中也可以良好地运行。但此特性是以真正的OOP技术和平台的可移植性为代价的。每个对象都被编译和注册到Windows子系统,只要你能访问这个子系统,你就能访问这个对象。来吧!欢迎来到.NET和NGWS的世界!——Windows平台从来没有完完全全地让人产生这样完整的依赖性。他们的动机当然要遭到全世界对微软有偏见的人的怀疑,当然,完全依靠此技术的C#也不例外。
事实上,C#将是完全依靠Windows的最完美的产物。那些困绕Java SDK, MFC 和SET的数据库已成为过去。你想放入C#的任何东西(无论何种语言),只要在Windows的.NET子系统下建立和包装的都可以使用Windows的运行库。
用MSIL进入.NET
当人们访问Usenet或一些新闻组时,会有一些诸如新语言和平台有效性之类的问题。什么时间和努力能解决这些问题呢?当然,如没有牢固的事实和有说服力的证据,即使是最有帮助的响应者,权威机构也会对他的断言持保留意见。我没有参加今年的专业开发者会议(PDC),因此我的发现都是基于那些与会者的反馈。
人们对微软过去几周的大肆宣传,最基本的错误理解就是C#只是Visual C++的改进版本。完全不是这么回事。C#和Java没有直接联系。它的特征设定是从Java获得的灵感。它的语法同Java一样,源自C和C++,但它的执行是完全新的,只依靠.NET结构。
C#也并非字节码(bytecode)。微软一位员工罗伯特.舒密特详细描述道:“C#编译程序产生的是‘微软中间语言’(MSIL)……但虚拟机或其他类似的技术则不能用于解释这种中间语言(IL)。相反地,每当应用程序载入或JIT编译程序需要编译它时,IL就会被转换成本地代码。一旦这种转换完成,可以执行的代码实际上是本地代码。”实质上,虽然这种方案有点像Java程序通过一个JIL编译程序,但这里最终的JIT编译是100%的本地代码,而Java的JIT产生的结果是不同的。
C#的弱点
这个方案也暴露了微软对C#和.NET介绍中的一些有趣的漏洞。MSIL是.NET提供的一个新特性,允许很流行的程序设计语言编译到一个单独的公用语言。(.NET支持的语言种类是相当惊人的)。这些语言都要服从一种叫“通用语言规范(CLS)”的构架。微软称之为“CLS兼容语言和类库之间可互操作的通用语言”。
编译所有的语言到一个单一的公用语言上,能让“继承”通过多重语言真正执行。这轻而易举的扫除了C#可能遇到的错误概念。.NET组件使用COM的IDispatch,它只允许接口执行。它比先前C#被评定为一种OOP语言的看法容易接受得多。它在程序设计上或许像Java一样是面向对象的。
但不幸的是CLS这种包括MSIL的共享语言基础,只让RAD开发者受益,而损害了硬件的核心开发者,有人认为创造一种新程序设计语言的目的就是有能力充分运用它和服务于可微调的执行能力,这一点在CLS世界里是做不到的。老实说,加速充分利用从来不是许多语言的唯一目标。许多语言的唯一目标(最瞩目的是像Visual Basic和Java的RAD语言)是加速和美化开发和展开能力,而不仅仅是运行时刻的速度。
舒密特文章中所提到的确实包含了相关和值得注意的评论:你可以用C++指定.NET,并在你的代码中运用所有C++特性。同时,因为.NET在运行时刻不能检验C++代码是否安全,此语言并不遵从CLS规范,里面所书写的程序也受到限制。作为应对,微软往Visual C++里添加非标准管理的扩展。用这些扩展写的代码能符合CLS规范。
湖北新蓝海是一家专注于网络营销 网络推广的领头企业 ,已为武汉健民、华工激光、江西仁和等多家知名企业提供网络营销外包服务。详情请到各大搜索引擎中搜索“湖北新蓝海”
C#的特性
现在,微软仍在一边继续反驳其竞争对手Sun控告它改变了Java语言的诉讼,一边在对美国反垄断指控顽抗到底,但与此同时,微软的天才程序员们也在技术上进行着一场补救的措施。那就是他们已经开发出来的C#语言,这是一种非常类似于Java的语言,微软深知即便是微软阵营中也有着相当一部分人喜欢Java语言,所以这次干脆就用C#来满足他们的愿望,这是一种非常完美的语言,适用于各种操作系统,并且与Windows紧密地结合在一起。
微软表示这种新的程序设计语言并不针对Java,但它将是C++的革新。而这正是Java所追求的两个主要目标之一(另一目标当然就是可移植性)。微软一直梦想着能开发出能与Java在Windows NT系统上抗衡的语言。C#的自动内存管理以及和Java一样都使用的C语言语法,似乎让这个理想成为现实。
微软称C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C++的强大功能。但这种说法是否准确呢?由于C#的结构很像Visual Basic的ActiveX,它显然是冲着RAD开发者来的。但同时,“C#提供了C++的强大功能”这种说法也稍嫌夸张,将来很可能变成空头支票。
对某一对象接口的更新,微软称之为“继承”,当然“继承”是就“对象”而言的。但是,虽然“对象”这个词我们经常碰到,却很少有人真正理解了它的含义。微软的用户,甚至它自己的员工都经常把“对象”和“接口”弄混。所以微软干脆就用接口来定义各种对象,结果导致了“面向对象编程”(OOP)被微软弄得乱七八糟。现在,微软又在大踏步地前进了(虽然它内心还是很小心),它把它建立在接口基础上的“对象”集成到了开发工具里。不过它走得实在过了头,它甚至把对另一对象接口的更新称之为“继承”。
这个“继承”给程序员们带来的好处就是语言无关——只要接口维持其兼容性,用Visual Basic写成的对象在C#和C++中也可以良好地运行。但此特性是以真正的OOP技术和平台的可移植性为代价的。每个对象都被编译和注册到Windows子系统,只要你能访问这个子系统,你就能访问这个对象。来吧!欢迎来到.NET和NGWS的世界!——Windows平台从来没有完完全全地让人产生这样完整的依赖性。他们的动机当然要遭到全世界对微软有偏见的人的怀疑,当然,完全依靠此技术的C#也不例外。
事实上,C#将是完全依靠Windows的最完美的产物。那些困绕Java SDK, MFC 和SET的数据库已成为过去。你想放入C#的任何东西(无论何种语言),只要在Windows的.NET子系统下建立和包装的都可以使用Windows的运行库。
用MSIL进入.NET
当人们访问Usenet或一些新闻组时,会有一些诸如新语言和平台有效性之类的问题。什么时间和努力能解决这些问题呢?当然,如没有牢固的事实和有说服力的证据,即使是最有帮助的响应者,权威机构也会对他的断言持保留意见。我没有参加今年的专业开发者会议(PDC),因此我的发现都是基于那些与会者的反馈。
人们对微软过去几周的大肆宣传,最基本的错误理解就是C#只是Visual C++的改进版本。完全不是这么回事。C#和Java没有直接联系。它的特征设定是从Java获得的灵感。它的语法同Java一样,源自C和C++,但它的执行是完全新的,只依靠.NET结构。
C#也并非字节码(bytecode)。微软一位员工罗伯特.舒密特详细描述道:“C#编译程序产生的是‘微软中间语言’(MSIL)……但虚拟机或其他类似的技术则不能用于解释这种中间语言(IL)。相反地,每当应用程序载入或JIT编译程序需要编译它时,IL就会被转换成本地代码。一旦这种转换完成,可以执行的代码实际上是本地代码。”实质上,虽然这种方案有点像Java程序通过一个JIL编译程序,但这里最终的JIT编译是100%的本地代码,而Java的JIT产生的结果是不同的。
C#的弱点
这个方案也暴露了微软对C#和.NET介绍中的一些有趣的漏洞。MSIL是.NET提供的一个新特性,允许很流行的程序设计语言编译到一个单独的公用语言。(.NET支持的语言种类是相当惊人的)。这些语言都要服从一种叫“通用语言规范(CLS)”的构架。微软称之为“CLS兼容语言和类库之间可互操作的通用语言”。
编译所有的语言到一个单一的公用语言上,能让“继承”通过多重语言真正执行。这轻而易举的扫除了C#可能遇到的错误概念。.NET组件使用COM的IDispatch,它只允许接口执行。它比先前C#被评定为一种OOP语言的看法容易接受得多。它在程序设计上或许像Java一样是面向对象的。
但不幸的是CLS这种包括MSIL的共享语言基础,只让RAD开发者受益,而损害了硬件的核心开发者,有人认为创造一种新程序设计语言的目的就是有能力充分运用它和服务于可微调的执行能力,这一点在CLS世界里是做不到的。老实说,加速充分利用从来不是许多语言的唯一目标。许多语言的唯一目标(最瞩目的是像Visual Basic和Java的RAD语言)是加速和美化开发和展开能力,而不仅仅是运行时刻的速度。
舒密特文章中所提到的确实包含了相关和值得注意的评论:你可以用C++指定.NET,并在你的代码中运用所有C++特性。同时,因为.NET在运行时刻不能检验C++代码是否安全,此语言并不遵从CLS规范,里面所书写的程序也受到限制。作为应对,微软往Visual C++里添加非标准管理的扩展。用这些扩展写的代码能符合CLS规范。
湖北新蓝海是一家专注于网络营销 网络推广的领头企业 ,已为武汉健民、华工激光、江西仁和等多家知名企业提供网络营销外包服务。详情请到各大搜索引擎中搜索“湖北新蓝海”

2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
你好像没把问题说清楚,听起来很外行啊,我不太清楚你问的是什么,据我猜测可能是问怎么做DLL的?新建项目的时候选择类库就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
封装当然是为了代码的安全性和便于维护升级,不知道你说的原理指什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原理 这个说实话不怎么好讲, 道理倒是可以说说,比如 你写了个程序,如果把所有的操作都写在一起的话,不容易维护,典型的就是数据库连接了,如果你有100个界面都用到了这个连接,如果抽象出来就可以达到一改全改的效果,否则就必须改100多次.
如果说是想做成dll的话你可以在新建项目的时候选择类库,编译后就是了.
如果说是想做成dll的话你可以在新建项目的时候选择类库,编译后就是了.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如1楼所说。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |