听过的最好的视频,慢慢赶进度吧。希望版主越做越好!
1.CLR是什么?
通用语言运行时(Common Language Runtiome , CLR)最早被称为下一代Windows服务运行时(NGWS Runtime).它是直接建立在操作系统上的一个虚拟环境,主要的任务是管理代码的运行。CLR现在支持几十种现代的编程语言为它编写代码,然后以一种中间语言(Intermediate Langeoage,IL)代码的形成被执行。并且,CLR还提供了许多功能以简化代码的开发和应用配置,同时也改善了应用程序的可靠性。如你所知,如果某种语言的编译器是以运行时为目标的,那么利用该语言开发生成的代码在.NET中被称为托管代码,因为这样的代码是直接运行在CLR上的,所以具有与平台无关的特点。
个人理解:类似java中的JVM,软件运行的框架。功能类似CPU对汇编代码的处理,CLR处理C#生成的IL中间语言。做中转器,翻译IL调用执行命令。
2.FCL是什么?
FCL--->Framework Class Library-->"框架类库"
个人理解:类似易语言的支持库,提供各种打包好的功能调用接口。
3.BCL是什么?
Base Class Librarym,基底(础)类库,是公共编程框架,是公共语言基础设施(CLI)的规范之一。
个人理解:FCL的一部分,类似引用system中的Console一样,框架提供封装好的类库,框架内不同语言通用部分。
3.CLI是什么?
通用语言基础架构(Common Language Infrastucture,CLI),是CLR的一部分,对编译成MSIL代码的应用,程序的运行环境进行管理的那一部分。
个人理解:公共语言运行时的一部分。
4.请描述一下C#软件的编译到执行的过程? 注:最好能画图描述
C#代码 -> 模块 -> 程序集(多个模块合并转为IL语言) >- (软件运行时经过CLR翻译)CPU执行的汇编语言
5.如何使用 CSC 将 Dog.cs 编译成托管模块 ?
cd cs源码目录
csc /t:module Dog.cs
6.如何使用CSC 将 Dog.netModule 与 Cat.newModule 合并成程序集?
cd 模块目录
csc /out:文件名.dll /t:library /addmodule:Dog.netmodule;Cat.netmodule
顺便纠正个错误哈。1.3 将模块打包成程序集时多个模块之间是分号,老师刚开始说是分号,后来说错成冒号了。
|