听说C#依赖CLR和基础类库,不象VC那样依赖Win32 API,那我想问...... 是,就像在win32上面做java,不一定要会win32api 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从纯编程上来讲,好好熟悉dotNET类库就行了,这里面已经给你封装好了。 有上的说的有一定道理说到底,C#只是通向.NET Framework的接口而已,VB.NET, maged C++等也一样,殊途同归罢了。我不清楚.NET Framework具体实现机制,但这个有必要了解。就像侯Sir对MFC的探索一样,深入才能浅出。 什么是API?一个特定平台的应用程序开发接口。如果.NET的基本类库最终作为OS的一部分发布,那么它不就是API嘛?.NET无法完全取代传统的Windows API,但它将肯定成为windows程序开发的主流接口。 我是这样看的,Vs.net基类是对windows API的最好的包装,当然如果要mono把vs.net移植到linux上,当然我们写的C#代码可以不变,但是基类由他们做(当然不会是ms)...我真不明白,我们是在上边做代码,了解的真的很少,VS.net和取代API有关系吗?当然不能取代,API是一只笔,.net是用这只笔画出的框,我们是在这个框里填东西,(比喻不完全恰当,但至少有这层次的关系); 无论是windows,linux,还是os/2如果想也想做个Free.net,都需要一只笔,如果做的好,我们可以不管是谁的笔做的,只关心这个.net框的结构,同样,如果这个框里的东西不够用,我们只有越过框,那程序移植就麻烦了 --愚见 程序要带着CLR走,这也是好事?? 其实.NET的类库大部分都是用MSIL写的,所以不会有太多的移植困难。只要实现特定平台的CLR,基本上类库就可以完全移植过去了。问题是MS采用了PE格式定义Windows上的.NET程序,这样binary层次上的移植可能有些困难。程序总是对特定的平台有依赖性的,如果.NET成了平台的一部分,就不用带着CLR/类库走了。况且另一个好处是在不同的OS平台上可以保持程序不变。 tms2000(海天)说di狠恰当啊~ ;)pe格式也就是exe 的 loader不同,问题不是狠大应该 是啊,移植的主要敌人是window的pe格式,我猜想他的unix的版本会用java的运行方式,由指定程序来载入运行,而不是系统。 海天的比喻 好像不是很恰当吧我看API更像一支笔芯,直接用API函数就等于直接握着笔芯写字,不是很方便而.NET只是给这支笔装了一个智能化的笔套,这样写起字来就方便多了其实MFC也好,Wfc也好,vb也好,只是给笔芯装了不同的笔套而已,只不过有的笔套比其他笔套用起来更方便罢了顺便打个比喻,如果把写一个程序比作写一封信,用mfc和.NET生成的应用程序框架,就等于是编译系统已经帮你把你的信头和称呼日期等写好了,就像foxmail做的那样--愚见 C#的运行要转换为MIL要用到.net的类库,我想问各位高手的是:C#编写的程序是否不能直接在目前的windows平台运行而必须升级windows安装.ner MiL?另外C#源程序编译成MIL运行的话我们的源程序怎么保密? UDP打洞求解 Socket 高手请入 Form窗体显示问题 这是什么错误?关于数据绑定的问题 自定义控件属性显示的问题 救急ftp登陆的时候使用中文用户名登陆不了! 初学者的疑惑 C#水晶报表怎样添加图片(网络图片)? 如何向已经有数据的XML文件中追加数据? 怎么在控件上加入声效? Visual Studio.Net Final 版终于出来了!!! 程序员大本营.Net增值版中的Visual Studio.net beat2有使用时限吗?
说到底,C#只是通向.NET Framework的接口而已,VB.NET, maged C++等也一样,殊途同归罢了。
我不清楚.NET Framework具体实现机制,但这个有必要了解。
就像侯Sir对MFC的探索一样,深入才能浅出。
如果.NET的基本类库最终作为OS的一部分发布,那么它不就是API嘛?
.NET无法完全取代传统的Windows API,但它将肯定成为windows程序开发的主流接口。
到linux上,当然我们写的C#代码可以不变,但是基类由他们做(当然不会是ms)...我真不明白,我们是在上边做代码,了解的真的很少,VS.net和取代API有关系吗?
当然不能取代,API是一只笔,.net是用这只笔画出的框,我们是在这个框里填东西,(比喻不完全恰当,但至少有这层次的关系);
无论是windows,linux,还是os/2如果想也想做个Free.net,都需要一只笔,如果做的好,我们可以不管是谁的笔做的,只关心这个.net框的结构,同样,如果这个框里的东西不
够用,我们只有越过框,那程序移植就麻烦了 --愚见
只要实现特定平台的CLR,基本上类库就可以完全移植过去了。
问题是MS采用了PE格式定义Windows上的.NET程序,这样binary层次上的移植可能有些困难。程序总是对特定的平台有依赖性的,如果.NET成了平台的一部分,就不用带着CLR/类库走了。况且另一个好处是在不同的OS平台上可以保持程序不变。
我看API更像一支笔芯,直接用API函数就等于直接握着笔芯写字,不是很方便
而.NET只是给这支笔装了一个智能化的笔套,这样写起字来就方便多了
其实MFC也好,Wfc也好,vb也好,只是给笔芯装了不同的笔套而已,只不过有的笔套比其他笔套用起来更方便罢了
顺便打个比喻,如果把写一个程序比作写一封信,用mfc和.NET生成的应用程序框架,就等于是编译系统已经帮你把你的信头和称呼日期等写好了,就像foxmail做的那样
--愚见