开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

12
返回列表 发新帖
楼主: 老郭
收起左侧

[C#作业] 第一天作业

[复制链接]
发表于 2019-5-9 18:56:52 | 显示全部楼层   山西省大同市
谢谢易语言论坛,确实学到很多东西
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2019-5-8 03:29:11 | 显示全部楼层   云南省玉溪市
谢谢易语言论坛,确实学到很多东西
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:83% (10/12)
发表于 2019-5-6 17:10:04 | 显示全部楼层   山东省济南市
重点在BCL和FCL,主要区别是 BCL就是字面的基本库,包括系统的字符串、时间日期型最基本的库,而FCL则是框架级的库,功能更多(包含了BCL),包括ASP.NET、WinForm、XML操作相关的类

BCL
  1. A .NET Framework library, BCL is the standard for the C# runtime library and one of the Common Language Infrastructure (CLI) standard libraries. BCL provides types representing the built-in CLI data types, basic file access, collections, custom attributes, formatting, security attributes, I/O streams, string manipulation, and more.
复制代码


FCL
  1. The .NET Framework class library is exactly what its name suggests: a library of classes and other types that developers can use to make their lives easier. While these classes are themselves written in C#, they can be used from any CLRbased language
复制代码
回复 支持 反对

使用道具 举报

发表于 2019-5-1 22:22:30 | 显示全部楼层   山东省枣庄市
听过的最好的视频,慢慢赶进度吧。希望版主越做越好!

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 将模块打包成程序集时多个模块之间是分号,老师刚开始说是分号,后来说错成冒号了。

点评

MSIL 是以前用的旧术语 现在用IL(Intermediate Language)   山东省济南市  发表于 2019-5-6 17:14

评分

参与人数 1好评 +1 精币 +3 收起 理由
老郭 + 1 + 3 非常优秀

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2019-4-30 13:08:03 | 显示全部楼层   黑龙江省哈尔滨市
描述的非常好 也非常正确 其实对于基础类库(***) 的理解 需要知道的就是 , 在咱们.NET框架运行时就会把这些基础类库部署到 全局程序集缓存(GAC) ,因此咱们在在开发中不需要手动引用这些类库 ,因为他们会被自动yi...  发表于 2019-3-30 21:36
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 20 天

发表于 2019-4-25 21:02:48 | 显示全部楼层   天津市天津市
这个很好
回复 支持 反对

使用道具 举报

发表于 2019-4-13 03:21:41 | 显示全部楼层   广东省汕头市
谢谢易语言论坛,确实学到很多东西
回复 支持 反对

使用道具 举报

发表于 2019-3-30 12:37:12 | 显示全部楼层   江苏省扬州市
看视频之余,有参考百度。。不足之处还请批评指正。

CLR是什么?
Common Language Runtime(公共语言运行时):微软为多种语言统一规划为“中间语言”的编译器(或运行环境?)。C#中是将源代码编译成托管模块、程序集并筛选引用到的模块的编译器。此时代码为不可直接被cpu识别的IL代码,还需JVM/JIT(.NET Framework)即时编译为CPU可识别的程序。

FCL是什么?
Framework Class Library(框架类库):针对不同应用设计的框架(demo),大都以BCL为基础。

BCL是什么?
Base Class Library(基础类库):公共编程框架,所有语言的开发者都能利用它。

CLI是什么?
Common Language Infrastructure(公共语言基础架构):一些大佬定义的运行环境的通用规范。

请描述一下C#软件的编译到执行的过程? 注:最好能画图描述
易语言:源代码----编译链接器----CPU可识别的指令文件(exe)

C#:.cs源文件--①--托管模块--①--程序集--②--CPU可识别的指令文件
   ①CLR编译筛选   ②JVM/JIT

如何使用 CSC 将 Dog.cs 编译成托管模块 ?
cd进入指定目录
csc /t:module Dog.cs

如何使用CSC 将 Dog.netModule 与 Cat.newModule 合并成程序集?
cd进入指定目录
csc /out:名字.dll /t:library /addmodule:Cat.netmodule;Dog.netmodule

点评

描述的非常好 也非常正确 其实对于基础类库(***) 的理解 需要知道的就是 , 在咱们.NET框架运行时就会把这些基础类库部署到 全局程序集缓存(GAC) ,因此咱们在在开发中不需要手动引用这些类库 ,因为他们会被自动yi...   广东省揭阳市  发表于 2019-3-30 21:36

评分

参与人数 1好评 +1 精币 +2 收起 理由
老郭 + 1 + 2 很赞同,谢谢!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表