[CLR via C#]1.6 Framework类库~1.9与非托管代码的互操作性
2014-01-18 21:40
316 查看
1.6 Framework类库
1. .NET Framework中包含了Framework类库(Framework Class Library,FCL)。
2. FCL是一组DLL程序集的统称,其中含有数千个类型定义,每个类型公开一些功能。
1.7 通用类型系统
1. CLR是完全围绕类型展开的。
2. 类型为应用程序和其他类型公开了功能。通过类型,用一种编程语言写的代码能与另一种语言写的代码沟通。
3. 由于类型是CLR的根本,所有MicroSoft指制定了一个正式的规范,即"通用类型系统"(Common Type System,CTS),它描述了类型的定义和行为。
4. CTS规定,一个类型可以包含一个或者多个成员。比如:字段、方法、属性、事件等。
5. CTS还指定了类型可视性规则以及类型成员的访问规则。如privae、family(C#:protected)、family and assembly(C#:没有)、assembly(C#:internal)、family or assembly(C#:protected internal)、public
6. CTS规定所有类型最终必须从预定义的System.Object类型继承。
1.8 公共语言规范
1. MicroSoft定义了一个"公共语言规范"(Common Language Specification,CLS),它详细定义了一个最小的功能集。任何编译器生成的类型要想兼容于其他"符合CLS、面向CLS的语言"所生成的组件,就必须支持这个最小的功能集。
2. CLS定义了所有语言必须支持的一个最小的功能集。
1.9 与非托管代码的互操作性
1.CLR提供了一些机制,允许在应用程序中同时包含托管代码和非托管代码。具体说,CLR支持三种互操作情形。
1)托管代码能调用DLL中俄非托管函数。托管代码采取一种名为P/Invoke(Platform Invoke)的机制来调用DLL中的包含的函数。
2)托管代码可使用现有的COM组件(服务器)。
3)非托管代码可使用托管类型(服务器)。
1. .NET Framework中包含了Framework类库(Framework Class Library,FCL)。
2. FCL是一组DLL程序集的统称,其中含有数千个类型定义,每个类型公开一些功能。
1.7 通用类型系统
1. CLR是完全围绕类型展开的。
2. 类型为应用程序和其他类型公开了功能。通过类型,用一种编程语言写的代码能与另一种语言写的代码沟通。
3. 由于类型是CLR的根本,所有MicroSoft指制定了一个正式的规范,即"通用类型系统"(Common Type System,CTS),它描述了类型的定义和行为。
4. CTS规定,一个类型可以包含一个或者多个成员。比如:字段、方法、属性、事件等。
5. CTS还指定了类型可视性规则以及类型成员的访问规则。如privae、family(C#:protected)、family and assembly(C#:没有)、assembly(C#:internal)、family or assembly(C#:protected internal)、public
6. CTS规定所有类型最终必须从预定义的System.Object类型继承。
1.8 公共语言规范
1. MicroSoft定义了一个"公共语言规范"(Common Language Specification,CLS),它详细定义了一个最小的功能集。任何编译器生成的类型要想兼容于其他"符合CLS、面向CLS的语言"所生成的组件,就必须支持这个最小的功能集。
2. CLS定义了所有语言必须支持的一个最小的功能集。
1.9 与非托管代码的互操作性
1.CLR提供了一些机制,允许在应用程序中同时包含托管代码和非托管代码。具体说,CLR支持三种互操作情形。
1)托管代码能调用DLL中俄非托管函数。托管代码采取一种名为P/Invoke(Platform Invoke)的机制来调用DLL中的包含的函数。
2)托管代码可使用现有的COM组件(服务器)。
3)非托管代码可使用托管类型(服务器)。
相关文章推荐
- [CLR via C#]1.6 Framework类库~1.9与非托管代码的互操作性
- [CLR via C#]1.1 将源代码编译成托管代码
- [CLR via C#]1.1 将源代码编译成托管代码
- CLR_via_C#.3rd 翻译[1.9 与非托管代码的操作]
- 『框架设计(第2版)CLR Via C#』学习笔记(002)——将托管代码合并到程序集
- CLR via C# 3 读书笔记(9):第1章 CLR执行模型 — 1.9 与非托管代码互操作
- CLR_via_C#.3rd 翻译[1.6 框架类库]
- CLR via C# 3 读书笔记(6):第1章 CLR执行模型 — 1.6 框架类库
- CLR via C# 3 读书笔记(5):第1章 CLR执行模型 — 1.5 本地代码生成器工具:NGen.exe
- 《CLR Via C#》 如何查看计算机是否安装了.NET Framework及其版本
- CLR via C# FOURTH EDITION(一)将源代码编译成托管模块
- 跟小静读CLR via C#(01)-.NET平台下代码是怎么跑起来的
- CLR via C# 读书笔记(四).net平台对象在托管堆上的内存分配
- CLR via C# 3 读书笔记(4):第1章 CLR执行模型 — 1.4 执行程序集代码
- 六、CLR下的托管代码应用程序与非托管代码程序之间的性能对比
- CLR via C# 摘要一:托管程序的执行模型
- CLR via C# 3 读书笔记(1):第1章 CLR执行模型 — 1.1 将源代码编译为托管模块
- CLR via C# 读书笔记(一)关于C#代码的编译和执行
- 【转帖】 CLR 全面透彻解析:托管和本机代码互操作性