导航:首页 > 源码编译 > net编译过程详解

net编译过程详解

发布时间:2022-05-26 16:46:56

❶ 精品赏析:一个.NET程序在编译和运行时都做了些什么

run-time)和运行原理 (CPU-specific binary or pseudo-code)的疑问。 这里是一个简单的回答:当你编译一个C#应用程序或任何一种CLS(Commmon Language Specification)兼容的语言时,它将首先被编译成一种称为IL (Intermediate Language)的伪代码(pseudo-code)。在这个应用程序第一次 被运行的时候,这种IL代码将被编译成机器代码,用于执行。也就是说从源代码 到得到运行结果,进行了两次编译。事实上,只有那些被真正使用的函数代码 才会被进行第二次编译。下面揭示开发过程中被隐藏起来的细节: 1) 你用C#开发一些程序 2) 用C#编译器或CLS兼容的编译器编译成EXE 3) 编译器将生成的IL代码和附加信息(manifest)放入拥有一个标准PE头的Win32 可执行文件的只读部分。 4) 编译器在创建这个可执行文件时导入(import)一个名为_CorExeMain的函数。 这个函数是.NET EE(execution engine)--.NET运行期引擎的入口函数。 5) 当执行这个Win32可执行文件时,因为其主要是依赖于DLL的PE文件,操作系 统将会调用位于MSCorEE.DLL中的_CorExeMain函数。 6) 操作系统通过PE文件里的进入点,调用MSCorEE.DLL。并能保证在Windows里 可以有很多程序同时运行。 7) 因为操作系统不能执行.NET IL代码,EXE里的进入点只是简单的中介,它将 指示操作系统调用_CorExeMain函数。 8) 随后_CorExeMain函数开始解释位于PE文件中的IL代码。 9) 因为IL是不能被直接执行的, .NET EE使用称为JITter (Just In Time compiler) 这一即时编译过程只在第

❷ 所有的 .NET 应用程序都要经过几次编译第一次编译的结果是什么

.NET Framework,其实就是一个运行在操作系统Windows之上的软件虚拟机。使用VS .NET开发出来的程序经过编译之后,生成的可执行程序实际上包含的只是MSIL指令代码,这是一种托管代码,只能运行在.NET虚拟机之上。所以,如果某台计算机上没有安装.NET Framework,就意味着图1-50中的“虚拟机”一层不存在,.NET应用程序就无法执行。对于非Windows的操作系统,只要上面有.NET虚拟机,就可以运行.NET程序,不需要重新修改源程序并重新编译。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

❸ 简述.net程序编译执行机制

.NET执行机制其实同很多的编程语言有一些不同。一般的高级程序语言会直接将代码编译成为机器语言,之后由本地机执行这些高效的机器代码从而实现编译过程。而.NET中的编译机制会在中间多一个环节,就是先将高级语言(如C#、VB)编译成为中间语言(IL),这些中间语言是.NET框架中所有的语言编译后的结果。这样说吧,比如我用C#、VB语言编写了两个类,编译之后的中间语言其实看起来是一样的,这就显示实现了.NET平台跨语言的这一事实。当然中间语言最终还是要编译成为机器代码以用于最终的本地机的运行。

❹ 简要介绍asp.net的编译过程

❺ .net源码如何编译

你这个应该是CS程序,下载一个Visual Studio 2010 然后在项目里新建一个项目--windows窗体程序。 把你现在这个项目导入进去就可以了。 很简单。 最后按下F5就可以编译了

❻ 老师问的 java .net c#语言的编译过程

编译生成obj文件又称目标文件,连接动态库后可生成exe文件又称可执行文件。
具体是在main函数入口根据消息处理函数(winpro)激发消息

❼ 简述asp.net 的编译过程

从技术上讲,ASP.NET模块分析ASPX文件的内容,并将文件内容分解成单独的命令以建立代码的整体结构。完成此工作后,ASP.NET模块将各命令放置到预定义的类定义中(不需要放在一起,也不需要按编写顺序放置)。然后使用这个类定义一个特殊的ASP.NET对象Page。该对象要完成的任务之一就是生成HTML流,这些HTML流可以返回到IIS,再从IIS返回到客户。简言之,在用户请求IIS服务器提供一个页面时,IIS服务器就根据页面上的文本、HTML和代码(这对我们来说是最重要的)建立该页面。

❽ 在.NET中,程序编译过程

.NET平台中代码的物理单元是可移植可执行程序(protableexecutable,PE)格式,编译程序和库时,和平常一样生成EXE与DLL文件,但在.NET框架下,任何可执行程序项目都链接到公共语言运行库,并由它代理编译和执行。

.NET中程序编译的最主要部分是汇编(assembly),汇编包括一个manifest,它是一组元数据,标识汇编向其他应用程序提供的文件和类型;manifest还可以包含强名称(strongname)、组合汇编名、版本信息和可选文化信息。在使用强名称的汇编中,元数据包含一个公用密钥签名,公共语言运行库用其验证汇编自编译之后是否发生改变。

汇编还可以包括数字签名,例如用验证码(authenticodecertificate)验证代码源,以解决在公共语言运行库保证汇编签名的真实性问题。

汇编分为专用汇编和共享汇编。专用汇编只在安装这个汇编的应用程序中使用,而共享汇编则安装在全局汇编缓冲区(globalassemblycache,GAC)中,全局汇编缓冲区用汇编的引用计数和版本信息管理库,包括框架的基类库(baseclasslibrary,BCL),并通过公共语言运行库避免因库的版本冲突而形成DLLHell的情形。

选择专用汇编和共享汇编是一个重要决策。将汇编安装到全局缓冲区后,就可以在多个应用程序中使用汇编的一个备份,但是还需要用WindowsInstaller之类的安装程序将应用程序安装到计算机上。如果使用专用汇编,则得到Microsoft所谓的"XCOPY部署",这样用户可以将应用程序复制到目标计算机上,方便地进行安装。

.NET程序编译过程如图1.2所示。

❾ c# .net 怎么编译

使用Visual Studio创建一个Web ASP.net项目,把这些文件添加进项目,然后编译即可。
编译出的dll在Bin目录下。

❿ 如何使用 Visual Studio.Net 编译和执行 C# 程序,步骤是

阅读全文

与net编译过程详解相关的资料

热点内容
查公司服务器能说明什么问题 浏览:306
苹果手机怎么给我的电话加密码 浏览:667
程序反编译教学 浏览:656
ecc加密算法c语言代码 浏览:877
nvr预览提示码流已加密 浏览:740
编程怎么让飞镖掉落下来 浏览:590
如何在服务器上运行后台代码 浏览:768
安卓手机编译时间 浏览:322
php插入数据库代码 浏览:389
明日之后怎么搜索别的服务器的人 浏览:826
思迅加密锁驱动未能正常升级 浏览:141
文件夹哪个是相册跟视频 浏览:168
用函数编译计算器程序 浏览:703
保卖数码是哪个app 浏览:133
汽车级单片机特点 浏览:280
visualstudio教程pdf 浏览:644
oracle命令窗口 浏览:985
51单片机开发板应用演示 浏览:492
编译程序利用子函数计算 浏览:1003
编译terminated 浏览:988