.NETFramework

.NET Framework 是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#VBC++Python等)的开发。.

.NETFramework功能:

1、提供一个运行环境,以简化软件开发过程,降低版本冲突的可能性

2、确保代码的安全执行

3、基于行业标准进行所有的通信,从而能够与非.NET代码集成

4、让应用程序的开发过程独立于语言和平台,确保各种应用程序的开发体验都是一致的 

5、提供了一个运行环境,尽可能消除脚本语言或解释型语言的性能问题

.NETFramework的四个组件:

1、公共运行时(Common Language  Runtime),可将其视为.NETFramework的核心。公共运行时提供了低级核心服务供应程序使用,并负责管理应用程序的代码。针对.NETFramework编写的代码为托管代码,其他代码为非托管代码。

2、类库,包含大量可重用的类(类型),可用于开发任何应用程序(.NETFramework类库包含4000多个类,是当今最大的类库之一)。

3、并行计算平台,.NETFramework通过类库在公共语言运行时中支持并行编程,并在并行计算平台中提供了诊断工具。能够自然而简单的编写高效的可扩展代码,充分利用多个处理器。

4、动态语言运行时(Dynamic Language Runtime),建立在公共语言运行时基础之上,向动态语言提供语言服务。与诸如C#等通用语言相比,动态语言更擅长执行某些任务,而动态语言运行时可以根据业务需求选择最合适的语言。而且,动态语言运行时还让非动态语言(如C#)能够以简单而一致的语法使用动态对象。

静态语言和动态语言

{静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求. 
动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 

动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。

静态类型语言的类型判断是在运行前判断(如编译阶段),比如C#、java就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing,常出现于脚本语言中.需要明确说明一点,那就是,是不是动态类型语言与这门语言是不是类型安全的完全不相干的,不要将它们联系在一起!}}

托管代码

公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。

简单点说,托管代码是一microsoft的 中间语言,他主要的作用是在.NET   FRAMEWORK的CLR执行代码前去编译 源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段:
1. 源代码编译为托管代码;(所以源代码可以有很多种,如VB,C#,J#)
2.托管代码编译为microsoft系统的.net平台专用文件(如类库、 可执行文件等)。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值