文章目录

  • 1 托管代码和非托管代码
  • 2 .NET平台
    • 2.1 .NET平台的概念
    • 2.2 .NET平台组成
    • 2.3 .NET Framework
    • 2.4 .NET平台程序两次编译

1 托管代码和非托管代码

托管代码:


托管代码是直接被编译器编译成机器指令的,那么被编译后的可执行程序只能在特定的CPU架构、OS上运行,更换了运行环境则必须重新进行编译。托管代码类的语言:C、C++等。

非托管代码:

托管代码则是将代码编译成中间文件,然后由虚拟机翻译成机器指令(不同平台的虚拟机功能是一样的,但是实现是不同的),这样就可以一次编译处处运行。非托管代码类的语言:C#、Java。对于C#来说,我们的操作系统上必须安装对应的.NET Framework类库和虚拟机。


2 .NET平台

2.1 .NET平台的概念

.NET平台是Microsoft设计的一个用于开发各类应用的“框架”和程序“运行环境”。

2.2 .NET平台组成

.NET平台主要包含如下两个部分:

  • .NET Framework(类库、虚拟机)
  • Visual Studio(开发人员使用的集成开发工具)


2.3 .NET Framework

.NET Framework包含两部分内容:

公共语言运行库CLR:

CTS(通用类型系统:Common Type System)

  • 定义了在IL中的数据类型
  • 消除了不同开发语言之间“数据类型”的差别

CLS(公共语言规范:Common Language Specification)

  • 定义了在IL中的语言规则
  • 消除了在不同开发语言之间的“语法”的差别

2.4 .NET平台程序两次编译


.NET平台的好处:

  • 简化程序的编写,底层代码由.NET平台提供,提高开发效率。
  • CLR(Common Language Runtime)保证多语言无缝集成开发。

参考资料:

  1. .NET/C#工控上位机VIP系统学习班【喜科堂互联教育】

.NET平台相关概念(简单了解)相关推荐

  1. Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

    Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...

  2. Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验

    Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...

  3. python开发his系统_医院HIS系统调用钉钉开放平台的简单实例

    龙源期刊网 http://www.qikan.com.cn 医院 HIS 系统调用钉钉开放平台的简单实 例 作者:朱夏迪 来源:<中国新通信> 2016 年第 19 期 [摘要] 目的:实 ...

  4. 第二次作业-关于Steam游戏平台的简单分析

    1.1 Steam平台的简单介绍 你选择的产品是? 如题,这次的作业我选择了Steam作为分析的对象. 为什么选择该产品作为分析? 我选择数字游戏贩售平台STEAM作为分析对象的原因有以下几点: 1. ...

  5. 构建基于AgileEAS.NET应用开发平台的简单应用程序

    一. 摘要 首先非常感谢各位朋友的大力支持,我会努力的写好本系列,本系列主要是以我在使用AgileEAS.NET应用开发平台中经验的总结,个别认识不足之处还请大家多 批评指出,我就先选择一个简单的应用 ...

  6. linux平台 一个简单的helloworld静态库的制作与使用

    业务开发使用Go语言,有的时候会引用c的代码,通常以静态库的形式调用,介绍一下linux平台静态库的制作与使用方式: HelloWorld库代码: HelloWorld.c文件 /*** 简单静态库文 ...

  7. 利用第三方服务平台实现简单的短信验证功能

    在本篇文章中,将会利用第三方服务平台实现短信验证功能. 首先,先介绍一下刚才提及的第三方服务平台:mob.com 移动开发者服务平台 该平台呢,主要有以下几点功能: 1.为IOS.Android的AP ...

  8. 从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨

    以前的大二层技术,一般是在物理网络底层使用IS-IS路由技术,再在此基础之上,实现数据中心网络的二层扩展,如公有的Trill.SPB技术和Cisco私有的OTV.Fabricpath技术:前沿一些的网 ...

  9. 微信公众平台开发费用其实并不高 及微信公众平台开发简单教程

    今天我一朋友问我一个技术上的问题,通过PHP cURL来请求外部接口,接口返回的是一个JSON的字符串,但如果把字符串copy下来然后赋值 给一个变量再将它json_decode是OK的不会有错,可以 ...

最新文章

  1. 创建属于自己的调色板
  2. Opengl-法线贴图(用来细化表面的表现表现的凹凸)
  3. Samba共享后不能访问,或者看不到文件,是selinux惹的祸
  4. Python-爬取自己博客文章的URL
  5. ViewModelBase ObservableObject
  6. LeetCode 1490. 克隆 N 叉树(DFS/BFS)
  7. Ubuntu18.04 关于使用vnc的踩坑
  8. 重磅!总奖池536万,首届“全国人工智能大赛”(AI+4K HDR 视频 与 行人重识别)...
  9. Layer 7 过滤 (官网介绍)
  10. PMP更新教材了,怎么备考?
  11. java 归一化_归一化方法实现(数据类型转换)
  12. TLQ7/8 常用命令说明
  13. C++-类的六个默认成员函数及其性质
  14. 【PS4开发】如何通过unity3d发布ps4应用
  15. Sun Jan 29 14:34:06 格林尼治标准时间+0800 2012”解析
  16. 超几何分布HyperGeometricDistribution
  17. 全球与中国远程摄像机市场深度研究分析报告
  18. Vivado使用技巧(1):综合策略与设置的选择
  19. 可可西里观后感(转)-保护藏羚羊
  20. DTU是什么及其用途

热门文章

  1. 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第3章-系统性能分析
  2. 【PC工具】chrome插件:n多好用实用chrome插件
  3. 【工具】WPS安卓电脑无广告版
  4. MLCC噪声啸叫及对策
  5. 基于FPGA的通用8251串行异步收发器(6600+字)
  6. 基于Seam+Carving和显著性分析的图像缩放方法MATLAB仿真
  7. Python----Requests库基本使用
  8. spring coud feign
  9. 如何搭建安卓开发持续化集成环境(Ubuntu + Jenkins + SonarQube)
  10. Redux 莞式教程 之 简明篇