C面向对象程序设计讲义_第1页
C面向对象程序设计讲义_第2页
C面向对象程序设计讲义_第3页
C面向对象程序设计讲义_第4页
C面向对象程序设计讲义_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

--应用程序的执行C#通过编译和链接生成单一的本地可执行文件(.EXE)的时代已经过去,在MicrosoftWindows中,应用程序的执行早已演变成为基于DLL(动态链接库)的形式,而通过.NET,我们正在向基于虚拟机的程序执行模式演化。应用程序的执行ManagedExecution基于组件的设计Assembly分析主要内容ManagedExecution思考:软件在运行时环境中执行为何如此?可移植和安全执行硬件操作系统运行时环境应用程序Java基于运行时环境:JVMTMJVM=JavaVirtualMachineJCL=JavaClassLibraryx86WindowsJVMPPCMacOSJVMARMPalmOSJVM……JVMJava应用程序JCL.NET基于运行时环境:CLR,FxCLCLR=CommonLanguageRuntimeFxCL=FrameworkClassLibrary硬件操作系统CommonLanguageRuntime.NET应用程序.NETFrameworkClassLibrary.NET软件开发选择你的开发语言和平台x86WindowsCLRARMPocketPCCLRPPCFreeBSDCLRx86LinuxCLR.NET应用程序FxCL……CLRVBC#C++J#….NET软件开发运行.NET程序的客户端必须安装Microsoft.NETFrameworkRedistributable.NETFramework(20MB)三个版本:v1.0(2002),v1.1(2003),v2.0(2005)MicrosoftWindowsServer2003包含v1.1必须安装正确的版本.NET软件开发设计上的权衡可移植性安全执行(内存管理)速度?ManagedCodeC#,VB,J#编译器会生成受控代码需要.NETFramework运行和管理的代码C++有两种选择受控代码(.NETexe/dll)非受控代码(nativeexe/dll)常用于操作系统级编程和原有应用程序ManagedExecution基于组件的设计Assembly分析基于组件的应用程序应用程序包含一个或多个组件(dll)例子Front-endObjectObjectObjectGUI.exebusiness.dlldata.dllDB基于组件的.NETCLR和FxCL也是组件Process.EXE.DLLCLR(MSCORE.dll)CoreFxCL(MSCORLIB.dll)JITCompilerobjcodeAdditionalFxCLComponents(DLLs)OSandHardwareAssembliesAssemblies是对.NET组件的称呼.NET中的部署单元1个assembly=1个或多个源文件的编译结果VisualStudio.NET.EXE/.DLLcode.vbcode.vbcode.csassemblyFxCLassembliesFxCLassemblies存储与GAC之中GAC=GlobalAssemblyCache位于本地共享ManagedExecution基于组件的设计Assembly分析Assembly分析CLR必须可以找到正确的assembliesFxCLassemblies像我们自己的assembliesCLRJIT编译器进程CoreFxCL

.DLL.DLL.EXEobjcode其余FxCL组件(DLLs)程序执行过程的assembly搜索DOS应用程序执行回顾.NET提供了assembly搜索算法可以根据.config文件(类似于.ini文件)自定义assembly搜索算法分析应用程序(.EXE)指定将要使用的assembly版本在GAC(GlobalAssemblyCache)中搜索相应版本If未找到and存在.config文件then到配置文件指定的位置搜索else

到.EXE文件所在的路径搜索If

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论