当前位置: 首页 > news >正文

政务信息网站建设方案曹鹏wordpress视频教程

政务信息网站建设方案,曹鹏wordpress视频教程,重庆经典论坛新闻评论,网站建设合作加盟一个简单的C#程序回想一下我们第一个.net 程序 hello world#xff0c;它具有那些步骤呢#xff1f;打开visual studio创建一个C# console的项目build运行程序这时候就有一个命令行窗口弹出来#xff0c;上面打印着hello world。我们打开文件夹的bin目录#xff0c;会发现里…一个简单的C#程序回想一下我们第一个.net 程序 hello world它具有那些步骤呢打开visual studio创建一个C# console的项目build运行程序这时候就有一个命令行窗口弹出来上面打印着hello world。我们打开文件夹的bin目录会发现里面多了一个.dll文件和一个.exe文件。我们用dotnet run命令就可以运行起来这个程序。过去在使用VC生成的可执行文件经过了预编译编译汇编链接这几步以后生成了Native code,这样在操作系统和本地机器指令集的支持下程序就开始运行了。C#作为高级语言而且是跨平台的语言它是如何才能让操作系统认识它的呢CIL/IL-公共中间语言Java会先把java代码转化为字节码然后再通过JVM中的编译器JIT编译成本地代码后运行的。C#也是一样的 c#通过C#编译器编译为IL代码然后经过JIT编译为本地代码。IL代码和字节码是类似的。我们可以通过dnSpy工具查看.dll文件的内容这就能直观的看到IL代码。IL代码只是比C#低级一些也不能直接被CPU执行IL语言需要.Net运行时环境的支持执行前会被JIT(Just-in-time)的二次编译才能转变为计算机可以识别的指令。因此IL代码也叫做托管代码。不需要.net 运行时就可以直接运行的代码叫做非托管代码。BCL我们在写Console.Wirte()这个方法时会疑惑这个方法从何而来。我们打开Visual stdio查看一个程序的Dependencies, 就会发现里面引入了System.Console这个类。并且无法删除。BCL就是提供了像Console这样的类型来支持开发者编写也就是基础类库。FCL这是.Net的框架类库BCL是FCL的一个子集。BCL提供基元类型 集合类型 线程处理 AppDomain, Runtime等程序最为基本的封装。然后要提供类似网络文件等对操作系统的封装。最后是Windows Form, Asp .net WCF这种大型框架。CTSCTS定义了一套语言可以做什么不能做什么是一套规则。满足了这个规则的语言就是面向.NET框架的语言。比如C#有类对象枚举结构体委托方法事件访问性(Private, public, protected)assembly等等。CLS首先提出一个问题用VB写的程序集可以被c#项目引用吗C#和VB可以很好的运行在.net框架下但是他们是无法相互引用的如果要让C#项目能够引用VB那么VB中的公开类型就要满足C#的语言特性就是说要有共通之处。世界上有很多种语言所以我们需要一个规范只要满足这个规范就能被其他语言的程序集所使用。这个规范就是CLSCLRCLR有时也会称作.NET运行时。.dll和.exe有个别名叫做程序集。在windows环境下.exe给人的感觉就是双击以后就开始运行.NET程序首先要是一个windows可执行程序。Windows想要加载.dll或者.exe是因为它可以理解PE/COFF文件格式也就是windows可移植可执行/通用对象文件格式。程序集中的IL代码不能直接被机器执行还需要即时编译编译前需要将编译的环境运行起来所以PE/COFF头之后就是CLR头CLR头告诉操作系统这是.NET程序集区别其他的可执行文件。接下来就是清单清单相当于一个目录描述程序集名称版本程序集包含的Resources, 组成程序集的文件。下面是元数据清单描述了程序集自身信息 元数据描述了程序集所包含的内容比如类型类型成员 类型和类型成员的可见性。元数据不包含类型实现查看元数据的过程就是反射。下面是程序代码就是IL代码。最后是资源文件比如一些html, css, js ,jpg这里简单的介绍了一下程序集。CLR就是一个软件层管理.NET程序集的执行提供管理应用程序域加载运行程序集安全检查将CIL代码即时编译为机器代码、异常处理、对象析构和垃圾回收等。CLR还有一种叫法即VESVirtual Execution System虚拟执行系统我觉得这个描述更加的准确 类似于java虚拟机。如何运行一个程序集操作系统在尝试打开一个托管程序集.exe时首先会检查PE头根据PE头来创建合适的进程。接下来会进一步检查是否存在CLR头如果存在就会立即载入MsCorEE.dll。这个库文件是.NET框架的核心组件之一注意它也不是一个程序集。加载了MsCorEE.dll之后会调用其中的_CorExeMain()函数该函数会加载合适版本的CLR。在CLR运行之后程序的执行权就交给了CLR。CLR会找到程序的入口点通常是Main()方法然后执行它。这里又包含了以下过程加载类型。验证。即时编译。加载类型: 在执行main()方法以前Class loader要找到拥有Main()方法的类型(Program.cs 中的 Program类)并且加载会从配置文件程序集元数据中找到这个类型然后把类型信息加载到内存并且缓存。并给每个方法插入存根(stub)。验证保证代码类型安全主要就是看元数据和类型签名。即时编译把托管代码IL编译为机器代码。即时编译只有方法第一次调用时发生。在调用方法时CLR会检查方法的存根如果存根为空则执行JIT编译过程并将该方法被编译后的本地机器代码地址写入到方法存根中。当第二次对同一方法进行调用时会再次检查这个存根如果发现其保存了本地机器代码的地址则直接跳转到本地机器代码进行执行无须再次进行JIT编译。程序集程序集主要包括程序集模块程序集资源和强名称程序集。程序集模块这是一个中间的逻辑结构程序集可以包含一个或者多个模块每个模块的内容就是PE/coff CLR头清单元数据CIL代码 资源文件。这个现在没怎么用了visual studio也都是生成的单模块程序集。程序集资源程序集中包含资源 资源可以是字符串也可以是一些文件 比如图片和Excel。强名称程序集特点和功能唯一标识一个程序集。防止程序集被仿冒和被篡改。可以部署到全局程序集缓存(GAC)之中。举个没有强名称程序集的例子假设有一个类库ClassLib, 一个控制台项目ConsoleApp想要引用ClassLib如果ClassLib.dll是非强名称的程序集那只能私有部署。通过项目引用或者Reference引用本质上就是复制一份ClassLib.dll副本到ConsoleAPP的根目录下。这里有两个属性分别是“复制本地”和“路径开启复制本地时编译时会自动复制ClassLib.dll到应用程序根目录。路径指的就是程序集的位置。如果没有强程序集有三个ConsoleApp都要引用这个ClassLib, 但是ConsoleApp1, ConsoleApp2, ConsoleApp3都不是同时开发的而且ClassLib也在维护中。本来ConsoleApp1要引用版本1的ClassLib现在成了版本3了ClassLib的版本1和3又不兼容就错误了。如果你想用其他公司开发的ClassLib.dll那你的dll就会被冲突掉因为Window系统的同一个文件夹下是通过文件名来区分不同文件的文件名称相同就会被覆盖。如果没有强程序集会遇到什么问题版本冲突如果多个程序集具有相同的名称和版本号但是公钥不同运行时会被视为不同的程序集导致版本冲突。安全性 没有强命名的程序集可能被恶意软件篡改。部署问题 如果想在多个计算机上用程序集那就必须是强程序集否则无法工作。强名称和GAC就是来解决这个问题的。强名称定义一个规则不单单以文件名区分程序集。GAC: 特殊文件夹可以识别强名称的规则允许相同的文件名存在。
http://www.hkea.cn/news/14592172/

相关文章:

  • dedecms两网站共享用户名自动点击竞价广告软件
  • 博客网站开发技术广东微信网站开发哪家好
  • 查询一个网站是用什么系统做的服务器与网站吗
  • 网上有做衣服的网站有哪些做资源下载网站条件
  • 网站数据库5g企业网站推广建议
  • 广东省东莞市建设培训中心网站电子书网站用dz还是wordpress
  • 网站开发项目经验总结教训个人网站制作代码
  • 怎么看网站有没有做推广视频制作软件免费版下载
  • 网站管理系统制作做服装设计兼职的网站
  • 合肥网站建设哪家好一手房发帖网站怎样做
  • 网站特色页面建设手机网站建立免费平台
  • h5做怎么做微网站网站建设时间进度表模板
  • 给菠菜网站做支付建设企业银行u盾如何使用
  • 北京专业做网站设计公司网络维护员
  • 福州优秀网站建设公司网站运营外包协议
  • 网站怎么做背景广东商城网站建设公司
  • 手机网站建设免费空间兰州市网络公司
  • 网站建设与管理自考本公司网站如何备案
  • 网站客户运营jetty网站开发
  • 哪里有建设网站中的视频下载网站建设那家做的好
  • 那个网站百度收录快企业管理咨询包括哪些
  • 哪些网站专做自媒体的如何做h5简历制作网站
  • 广东建设官方网站湖南省军区强军网网站群建设项目
  • 物流网站建设工作岗位wordpress 显示纯文字
  • 佛山做网站开发自助建站营销招商
  • 重庆网站建设公司是什么意思东莞寮步二手房
  • 林芝网站建设装饰公司网站建设流程
  • 广州专门做seo的公司网站seo思路
  • 网站建设什么专业广州网站建设排行
  • 注册网站后怎么建设阳江招聘网鹏程