use*_*747 12 .net c# c++ winapi
我很困惑.NET究竟是什么.我是一名计算机科学专业的学生,他用C++完成了很多Win32(WinAPI)编程,并且非常了解Win32函数如何与COM和Windows内核本身进行交互.
但.NET在哪里适合所有这些?
具体来说,如果Win32是用C编写的API,那么什么是.NET?它是用C编写的API吗?它只能在像Win32这样的Windows操作系统上运行吗?
.NET是否运行在Win32 API之上?例如,一个.NET函数showWindow()(显然我明白了)在后台调用Win32函数来显示窗口,还是直接调用内核来执行此操作?或者.NET是否像Java虚拟机一样?
.NET是否直接与Windows内核交互(如Win32)并与COM对象交互?.NET是否在沙箱中运行并且不允许某些操作系统访问某些操作系统区域?
我可以使用Win32 API(如c/c ++,VB,Perl)编写不同语言的代码.我可以在.NET中编写哪些语言?
这真的让我很难过.我听说用.NET编写的Web应用程序?什么,怎么样,哇?用什么语言写的?.NET是否运行在IE之上?.NET Web应用程序可以在Firefox或Safari(MacOS)上运行吗?像.NET applet这样的.NET Web应用程序,你是否也得到了.NET驱动程序.
slu*_*ter 11
一些简短的答案让你继续前进:
具体来说,如果Win32是用C编写的API,那么什么是.NET?它是用C编写的API吗?
.NET由多个部分组成.一部分称为CLR.该部分是用C++,C++/CLI和一些程序集编写的.这对运行.NET应用程序负责.实时(JIT)编译器是其中的重要组成部分.
然后是包含的库.这些主要是用C#编写的,但其中一些可能是用C++/CLI编写的.您实际上可以获得许多包含的库的源代码.
它只能在像Win32这样的Windows操作系统上运行吗?
也没有,有一个在Linux上运行的端口(称为Mono),有一个在WIndows Phone 7上运行的版本,然后还有在Silver上运行的Silverlight ....
.NET运行在win32 API的顶部吗?
在很大程度上,是的,尽管在某些地方它已经开始取代常规的WinAPI(当然微软的计划在一个阶段尝试和.Net-ify大部分或全部的WinAPI).我不打算用它编写驱动程序,你仍然会使用常规的C/C++接口到内核API.
这些库确实调用了win32 API的许多不同部分.这是与其他Windows应用程序平滑互操作所必需的.
.NET与COM对象交互吗?
是的,使用COM互操作.
.NET是否在沙箱中运行并且不允许某些操作系统访问某些操作系统区域?
运行时的某些变体可以是沙箱(Silverlight,WPF XBAP).拥有UnmanagedCode权限的.Net应用程序也可以调用用非托管C++编写的代码,并且可以完全不受限制地访问系统(尽管如此,你仍然必须遵守文件ACL之类的小问题).
我可以使用win32 API编写不同语言的代码,例如c/c ++,VB,Perl.我可以在.NET中编写哪些语言?
.Net是一个带有JIT编译的运行时库.您可以使用许多基于框架构建的语言.JIT编译也不是必需的 - 您仍然可以编译应用程序以针对特定的CPU体系结构.
我听说用.NET编写的Web应用程序?什么,怎么样,哇?用什么语言写的?.NET运行在IE上吗?.NET webapps可以在Firefox或Safari(MacOS)上运行吗?
这些应用程序可以用任何.Net语言编写,但实际上大多数都是使用C#和VB.Net.你一定听说过ASP吗?好吧,ASP.NET(和它的姐妹ASP.NET MVC)是下一代 - 它运行在服务器上并像许多其他服务器端语言一样呈现HTML + javascript.您还可以选择在客户端上运行Silverlight,它可以在浏览器内外运行.Silverlight绝对适用于Firefox,Safari和Chrome.
| 归档时间: |
|
| 查看次数: |
2507 次 |
| 最近记录: |