ASP.NET教程之为何.NET Framework就没有个专门的P/Invoke Library?仓酷云
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。有个复杂的成绩:LookingforWindowsAPIDefinitions大致是在问:C#有无相似C++中利用的windows.h文件?这真是个愚昧的成绩,是个C#程序员城市晓得,C#没有甚么头文件的说法。以是谜底太复杂了:没有-_-。
是啊,这是个C#程序员都晓得的谜底。可是怎样仍然有人问出这个成绩呢?以是,要末问成绩的人是个呆子,要末实际上是你没了解这个成绩。
这个成绩的实在目标是,他想要在C#中挪用NativeWindowsAPI,可是又以为一个个声明WindowsAPI及其用到的数据布局很烦琐。而在C++中,引进了windows.h以后能够间接挪用了。
固然更多的人了解了这个成绩,并给出了靠谱些的谜底:用http://pinvoke.net/
再进一步想,.NETFramework本人一定也用到了很多WindowsAPI,假如Decompile一个几个.NETFramework的DLL,会发明想要的工具就在Microsoft.Win32上面,惋惜的是,满是internal的。我们非得re-createthewheel.
为何.NETFramework不把这些工具公然出来呢?我猜也许是由于.NETFramework自己应该是平台有关,假如把这些公然出来,利用这些API的代码明显就没法运转在Linux平台上。至于用于本人写PInvoke代码,固然也让代码没法跨平台,可是这是用户举动,微软是没有卖力的。
利用PInvoke并非单单写写声明那末复杂的,还要思索以后的操纵体系撑持不撑持,不撑持有无Workaround;还要思索参数的编解码。每主要用PInvoke的时分都要把这些事变从头做一遍一点意义也没有。
以是,http://pinvoke.net/就是个渣滓。http://pinvoke.codeplex.com/才是更好的选择。
没有愚昧的成绩,只要愚昧的谜底。
无论谁倒了对双方阵营的粉丝们也是有害无益。 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
页:
[1]