1.1 在 .NET 之前
- MFC(Microsoft Foundation Class,微软基础类库)
微软公司提供的一个类库,以 C++ 类的形式封装了 Windows 的 API,并包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的内建控件和组件的封装类。
- COM(Component Object Model,组件对象模型)
基于 Windows 平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。组件对象不使用方法而用接口来描述自身。
1.2 .NET 时代
.NET 框架的特点:
- 多平台:可以在各种计算机上运行。
- 行业标准:使用行业标准的通信协议,如 XML、HTTP、SOAP、JSON 和 WSDL。
- 安全性:提供安全的执行环境,即使有来源可疑的代码存在。
1.2.1 .NET 框架的组成
如图 1.1 所示。
图1.1 .NET 框架的组成
- CLR(Common Language Runtime,公共语言运行库)
在运行时管理程序的执行,主要内容有
+ 内存管理和垃圾收集; + 代码安全验证; + 代码执行、线程管理及异常处理。
- BCL(Base Class Library,基类库)
是 .NET 框架使用的一个大类库,可以在程序中使用。
1.2.2 大大改进的编程环境
- 面向对象的开发环境
CLR、BCL 和 C# 完全面向对象,形成良好的集成环境。
2. 自动垃圾收集
* GC(Garbage Collector,垃圾收集器) 自动管理内存,删除程序不在访问的对象。
- 互操作性
- 允许不同的 .NET 语言编写的软件模块无缝交互。
- 只要遵循一定的规则,.NET 语言的程序可以相互使用其他 .NET 语言写的类;
- .NET 框架被称为“语言无关”。
- 提供平台调用特性(Platform Invoke,P/Invoke),允许 .NET 代码调用非 .NET 代码。
- .NET 框架能与 COM 组件相互调用。
- 简化的部署
- 不需要使用注册表注册。
- 提供并行执行的特性:允许 DLL 不同版本在同一台机器上存在。
- 类型安全性
CLR 检查并确保参数及其他数据对象的类型安全。
6. 基类库
.NET 框架提供庞大的基础类库(BCL),有时也称为 FCL(Framework Class Library,框架类库)。
1.3 编译成 CIL
.NET 语言的编译器接受源代码,生成名为程序集的输出文件,如图 1.2 所示。
图1.2 编译过程
- CIL(Common Intermediate Language,公共中间语言)
即程序集里的代码,不是本机代码。
- 程序集包含如下信息:
- 程序的 CIL;
- 程序中使用的类型的元数据;
- 对其他程序集引用的元数据。
1.4 编译成本机代码并执行
最全的Linux教程,Linux从入门到精通
======================
- linux从入门到精通(第2版)
- Linux系统移植
- Linux驱动开发入门与实战
- LINUX 系统移植 第2版
- Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论