net编译过程及运行
Ⅰ 昭通电脑培训学校告诉你NET常见问题汇总
总结了一些关于.NET的常见问题与解答。这些.NET常见问题对于想要了解.NET整体概念的读者们会有一些帮助。
一什么是.Net?它主要包括什么?
.Net是为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。
.Net主要包括普通语言运行时(CommonLanguageRuntime)和.Net构架类库。
二.Net主要的优点有哪些?
.Net的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持。
.Net支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得以重用,目前.Net支持的语言达二十多种。
.Net通过将各语言先编译成中间语言(IL),然后再执行时用即时(JustInTime)编译器将之编译成本地平台代码来实现异构平台下对象的互操作,目前.Net支持的平台有Windows,Linux和Unix的支持正在开发中。
.Net通过普通语言运行时(CommonLanguageRuntime)来实现资源对象,类型的安全。
.Net通过对HTTP,XML,SOAP,WSDL等Internet标准的强劲支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面.
三.Net中的普通语言运行时(CommonLanguageRuntime)指什么?它在.Net中处什么位置?
CLR(CommonLanguageRuntime)普通语言运行时是整个.netframework构建的基础,是实现.Net跨平台,跨语言,代码安全等核心特性的关键。它实际上是驻留在内存里的一段代理代码,负责在整个.net整个执行期间的代码管理工作,比较典型的有:内存管理,线程管理,远程管理,代码强制安全类型等。这些都可称得上.netframework的生命线。实际上,昭通电脑培训http://www.kmbdqn.cn/发现普通语言运行时代理了一部分操作系统的管理功能。
Ⅱ 所有的 .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平台跨语言的这一事实。当然中间语言最终还是要编译成为机器代码以用于最终的本地机的运行。
Ⅳ 在.NET中,程序编译过程
.NET平台中代码的物理单元是可移植可执行程序(protableexecutable,PE)格式,编译程序和库时,和平常一样生成EXE与DLL文件,但在.NET框架下,任何可执行程序项目都链接到公共语言运行库,并由它代理编译和执行。
.NET中程序编译的最主要部分是汇编(assembly),汇编包括一个manifest,它是一组元数据,标识汇编向其他应用程序提供的文件和类型;manifest还可以包含强名称(strongname)、组合汇编名、版本信息和可选文化信息。在使用强名称的汇编中,元数据包含一个公用密钥签名,公共语言运行库用其验证汇编自编译之后是否发生改变。
汇编还可以包括数字签名,例如用验证码(authenticodecertificate)验证代码源,以解决在公共语言运行库保证汇编签名的真实性问题。
汇编分为专用汇编和共享汇编。专用汇编只在安装这个汇编的应用程序中使用,而共享汇编则安装在全局汇编缓冲区(globalassemblycache,GAC)中,全局汇编缓冲区用汇编的引用计数和版本信息管理库,包括框架的基类库(baseclasslibrary,BCL),并通过公共语言运行库避免因库的版本冲突而形成DLLHell的情形。
选择专用汇编和共享汇编是一个重要决策。将汇编安装到全局缓冲区后,就可以在多个应用程序中使用汇编的一个备份,但是还需要用WindowsInstaller之类的安装程序将应用程序安装到计算机上。如果使用专用汇编,则得到Microsoft所谓的"XCOPY部署",这样用户可以将应用程序复制到目标计算机上,方便地进行安装。
.NET程序编译过程如图1.2所示。
Ⅳ 如何使用 Visual Studio.Net 编译和执行 C# 程序,步骤是
启动 Visual Studio。
在菜单栏上,选择 File -> New -> Project。
从模板中选择 Visual C#,然后选择 Windows。
选择 Console Application。
为的项目制定一个名称,然后点击 OK 按钮。
新项目会出现在解决方案资源管理器(Solution Explorer)中。
在代码编辑器(Code Editor)中编写代码。
点击 Run 按钮或者按下 F5 键来运行程序。会出现一个命令提示符窗口(Command Prompt window),显示 Hello World。
打开一个文本编辑器,添加上面提到的代码。
保存文件为 helloworld.cs。
打开命令提示符工具,定位到文件所保存的目录。
键入 csc helloworld.cs 并按下 enter 键来编译代码。
如果代码没有错误,命令提示符会进入下一行,并生成 helloworld.exe 可执行文件。
接下来,键入 helloworld 来执行程序。
将看到 "Hello World" 打印在屏幕上。
您也可以使用命令行代替 Visual Studio IDE 来编译 C# 程序:
Ⅵ .net运行机制,要流程图
.NetFramework是一个以规格为基础的开发平台。而这份规格统称为CLI(CommonLanguageInfrastructure),而最初由Micrsoft依据这份规格所自行实现的产品就是CLR。在CLI规格中,又细分为四个子规格。CIL(CommonIntermediateLanguage)、CTS(CommonTypeSystem)、在CTS中又细分CLS(CommonLanguageSpecification)子规格和VES(VirtualExecutingSystem)。CLS包含大多数语言都能实现的类型,CLI规范支持CLI的程序语言至少必须满足CLS的规格,这样才能达到跨语言集成的目的。
CLR运行机制
支持CLI的程序语言必须拥有一个编译器,该编译器必须具备将源码编译成ILCode的能力,也就是CIL规格所定义的语言格式,然后交由CLR来运行。在载入ILCode之后,CLR会调用JITComplier(Just-In-TimeComplier)将这些ILCode转化为NativeCode,也就是机器码来运行。
我是从“上海全鼎软件学院”毕业的————————
Ⅶ 精品赏析:一个.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)
这一即时编译过程只在第
Ⅷ 简述asp.net 的编译过程
从技术上讲,ASP.NET模块分析ASPX文件的内容,并将文件内容分解成单独的命令以建立代码的整体结构。完成此工作后,ASP.NET模块将各命令放置到预定义的类定义中(不需要放在一起,也不需要按编写顺序放置)。然后使用这个类定义一个特殊的ASP.NET对象Page。该对象要完成的任务之一就是生成HTML流,这些HTML流可以返回到IIS,再从IIS返回到客户。简言之,在用户请求IIS服务器提供一个页面时,IIS服务器就根据页面上的文本、HTML和代码(这对我们来说是最重要的)建立该页面。
Ⅸ 请将.Net程序从编写,编译到运行的整个过程默写下来
what r u talking about?
Ⅹ 简要介绍asp.net的编译过程