【.NET 学习笔记】Chapter.01 CLR的执行模型

ZYNQ程序固化实战:从BOOT.bin生成到QSPI/SD卡双启动模式详解 本文详细解析了ZYNQ 7000系列程序固化的完整流程,重点解决了程序断电丢失问题。通过实战演示,从生成BOOT.bin文件到配置QSPI与SD卡双启动模式,逐步指导开发者实现程序在外部存储中的永久驻留,确保产品脱离调试器独立运行。 阅读详情

1.1 将源代码编译成托管模块
(1).使用支持CLR的任何语言编写源代码,然后通过使用对应的编译器来检查语法和分析源代码,无论使用哪种编译器,结果都是一个托管模块(Managed Module)。
托管模块是一个标准的32位Microsoft Windows可移植执行体文件(PE32文件)或64位文件(PE32+),他们需要CLR才能运行。 

(2).本地代码编译器生成的是特定CPU架构的专用代码(X86, AMD64, IA64),而CLR相兼容的编译器生成的都是中间代码(Intermediate Language,IL).

(3).编译器同时生成元数据(MetaData)和代码,并将它们绑定到最终生成的托管模块中,所以元数据和代码永远是同步的。

(4).托管模块的组成部分:PE32(+) Header, CLR Header, Metadata, IL code.

(5).元数据的用途
- 在编译时,元数据消除了对头文件和库文件的需求
- 智能感知,能够指出一个类型提供了什么方法、属性、事件、字段,如果是方法还指出需要什么参数
- 元数据允许将一个对象的字段序列化到一个内存块中,将其发送到另外一台计算机中,然后进行反序列化,在远程计算机上重建对象状态;
-

1.2 将托管模块合成程序集
(1). CLR实际上不是和模块一起工作的,而是和Assembly一起工作的。

1.3 加载公共语言运行库
(1). 运行一个可执行文件时,会检查这个EXE文件的头,判断应用程序所需要的是32位地址空间,还是64位地址空间。具有PE32头的文件可以在32位或者64位地址空间中运行,具有PE32+头的文件则要求一个64位地址空间;Windows还要检查头文件中嵌入的CPU信息,确保它与CPU类型相匹配;最后,Windows的64版本中采用了一项WoW64的技术(Windows on Windows64),允许运行32位的Windows应用程序。

(2).在Windows检查EXE文件头,判断是创建32位进程,64位进程,还是WoW64进程之后,Windows在进程的地址空间中加载MSCorEE.dll的X86, X64或者IA64版本。
-如果是Windows的X86版本,MSCorEE.dll的X86版本位于C:/Windows/System32/目录中,
-如果是Windows的X64或者IA64版本,
 MSCorEE.dll的X86版本位于C:/Windows/SysWow64/目录中,
 MSCorEE.dll的X64版本位于C:/Windows/System32/目录中。

2023华为od机试C卷【最富裕的小家庭】C++ 实现 在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。 阅读详情

相关推荐

C#实战:通过ZPL指令与斑马打印机交互及状态监控全解析

本文全面解析了在C#中通过ZPL指令与斑马打印机进行交互及状态监控的实战方法。文章详细介绍了TCP/IP网络打印和Windows Raw打印两种核心连接方式,并深入讲解了ZPL指令的构建。重点阐述了通过SGD命令和斑马官方SDK实现实时打印状态监控的策略,为工业自动化场景下的可靠打印提供了完整解决方案。

weixin_29294395的博客 117

7.C#:PE文件,程序集,托管模块,元数据——还是那个Hello world

第一部分: 本文来自:http://www.cnblogs.com/vvjiang/p/5229545.html 好了,还是这张图,还是一样的Hello world。 因为本章其实很多都是讲一些命令行编译啊什么鬼的配置类的东西,要用的时候直接百度或者回头查书就可以了, 所以了解一下也就行了,也没有记录下来,接下来讲得只是我认为很有用的东西。 关于引用 请看上图,MyTest

xushaozhang的专栏 3925

LabVIEW调用.so文件的方法

LabVIEW调用.so文件的方法

m0_37878912的博客 3024

yii2省略index.php,yii2如何隐藏index.php

yii2隐藏index.php的方法:首先打开urlManager组件的配置;然后配置文件nginx.conf内容;接着将项目域名的配置整体放在vhost目录下;最后在入口文件的同级目录下放置“.htaccess”文件即可。推荐:《yii教程》yii2 url 重写 隐藏 index.php 方法第一步 : 不管是 apache 还是 nginx ,想要隐藏 Index.php 文件,需要打...

weixin_32285045的博客 584

别只刷题了!我用834分经验告诉你,华为HCIP大数据考试(H13-723)这样准备更高效

本文分享了华为HCIP大数据认证(H13-723)834分通关的高效备考经验。通过分析考试动态、题库验证技巧和章节优先级策略,帮助考生超越单纯刷题,系统化掌握核心知识点。特别强调实时流处理和离线批处理等重点章节,提供黄金90分钟临场发挥策略,助力考生一次性通过考试。

weixin_38168786的博客 459

Codex API 直接集成指南:告别中转代理,构建稳定高效的 AI 应用

在 AI 应用开发中,API 集成是连接模型能力与业务逻辑的核心环节。其基本原理是通过 HTTP 协议,按照服务提供商定义的规范发送请求并解析响应,实现远程调用。标准化的 API 设计确保了跨平台和跨语言的互操作性,其技术价值在于提供了稳定、可控且可扩展的服务接入方式,是构建企业级智能应用的基础。在实际应用场景中,开发者常需集成如 Codex 这类聚合了多种大语言模型的平台,以调用诸如 DeepSeek 等先进模型。然而,部分开发者仍依赖过时的第三方中转代理工具,这不仅引入了单点故障和版本锁定的风险,还可能

weixin_28224217的博客 339

yii的省略index.php

新加入controller后,访问地址为 http://testdrive/index.php/xxx,如果要省略index.php,配置以下2步 配置 urlManager,在main.php里加入以下代码,并在工程根目录下加入.htaccess     'urlManager' => array( 'urlFormat' => 'pat...

fighter1945的专栏 360

Duilib的简单使用(五、DuiDesigner/DuiEditor的下载编译)

一、前言 在Duilib的简单使用(一、duilib demo)中我们介绍了利用duilib简单的构造一个项目 在Duilib的简单使用(二、xml实现界面与业务分离)中我们介绍了XML在duilib中的使用 在Duilib的简单使用(三、界面逻辑交互)中我们已经知道如何简单的进行界面的交互 在Duilib的简单使用(四、换肤)中,我们提了一下Duilib强大的一键换肤功能。 通过之前的说明,我们知道duilib是通过xml来分离界面和业务逻辑的,但是xml如果不能预览,那每次敲一个再运行一下看看效果,这不

LyRics1996的博客 2888

yii2省略index.php,yii2 去掉index.php的方法

标签:1.开启apache-rewrite在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单:在[Apache安装目录]/conf/httpd.conf中找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#。如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有...

weixin_39562752的博客 255

【STK】手把手教你利用STK进行弹道导弹和运载火箭发射仿真的相关方法全过程解析

写这个系列主要是这几年做了一些弹道导弹和运载火箭发射的相关仿真项目,stk软件由于其专业性在国内比较小众,相关的教程和书籍、经验贴都不是很多,因此新手在进行开发中容易遇到较多困难,把自己的一些经验体会写下来,一方面供自己总结回顾,另一方面也希望对大家有所帮助。这个系列计划分几篇文章写完,每章的内容结构相似,都分为①如何确定发射场位置和发射轨迹、②导入导弹和运载火箭模型、③设计模型分段动作、④飞行参数分析和相关应用这四个部分,每篇文章争取完整描述1-2个实际项目的操作过程。

weixin_44184852的博客 5988

【WRF-Urban】Registry.EM_COMMON文件概述及urban有关变量

Registry.EM_COMMON文件概述及urban有关变量

WW、forever的博客 1594

yii2基础技能点收集

一、美化路由 二、省略掉index.php的方法 三、修改yii2默认控制器 一、美化路由【方案】在config/web.php 文件的components关键字中添加如下 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, // 'suffix' => '.h

theScoreONE的博客 526

运维系列【仅供参考】:RustDesk部署疑难解答

RustDesk部署疑难解答

weixin_54626591的博客 279

yii2.0 url美化

一、美化路由形式 默认路由为 yiisys.test.com/index.php?r=test/test/test 美化成较友好的方式 如:yiisys.test.com/index.php/test/test/test 在config/web.php,components数组中添加如下代码 'urlManager' => [ 'enablePrettyUrl' => ...

xdscode的博客 345

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Yii2 路由美化

一、美化路由形式 如:localhost/index.php?r=site/index 这种路由形式对SEO不友好,那么是否可以对路由进行一下美化呢?在Yii2中我们可以将路由必成以下的形式:如:localhost/index.php/sie/index这种路由形式与我们在浏览器地址栏中见到的大多路由形式一样get传递参数时,只需要在路由后通过?拼接即可,如:localhost/index.ph

qq_16752369的博客 644

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

yii 去掉index.php,yii 如何去掉index.php?

首先,开启apache的rewrite模块去掉rewrite前的#,如下所示LoadModule rewrite_module modules/mod_rewrite.so接着,在yii的index.php同级目录建立.htaccess文件,内容如下Options +FollowSymLinksIndexIgnore */*RewriteEngine on# if a directory or a...

weixin_31608241的博客 196

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

yii2路由去掉index.php

1.通常都是先更改Apache的Apache\conf\httpd.conf文件中两个配置 但是基本都是配置好的,则无需再配置了 2.在yii的config文件下打开main.php 添加代码 'components' => [ //...已有代码... 'urlManager' => [ 'enablePrettyUrl' => tr...

不正经的程序猿 1835

PHP5.4+内置webserver,Yii中如何隐藏index.php,让URL rewrite

Yii 中为了美化URL,可以把 /index.php?r=post/view&id=100 转变成下面path的形式: /index.php/post/100 Yii的配置中加入: 'urlManager'=>array( 'urlFormat'=>'path', // 'urlFormat

wyk86485481的博客 776

YII如何隐藏URL中的index.php

第一步: 1.开启apache的mod_rewrite模块      去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号      确保中有“AllowOverride All” 2.在项目中的/protected/config/main.php中添加代码: 第二步: 在根目录下的confi

LX_96的博客 1084

yii2 实现简单的留言板组件

这个主要描述的就是如何写一个自定义组件。 首先,建立frontend/widgets/ 目录,这个目录主要存放在前台使用的所有组件。 一个组件主要包括一个以Widget结尾的php文件和views里面的视图文件。 ChatWidget.php 代码<?php namespace frontend\widgets\chat;use frontend\models\FeedForm; use

Rodgexue的专栏 1564

Yii2 - 02控制器、路由、Url生成

控制器与路由控制器以Controller作为后缀,继承自yii\web\Controller; 动作以action作为前缀,public访问修饰; 控制器ID 类名去后缀,全部转为小写,如果是驼峰命名多个单词转为中杠分割; 动作ID 去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分割; 路由如何指向动作:控制器ID/动作ID URL访问规则:index.php?r=路由 传参使用&

7412

php 连接mysql 框架,workerman写mysql连接池的方法与作用_PHP开发框架教程

将Yii2和Workerman结合的方法_PHP开发框架教程Workerman是一款开源高性能异步PHP socket即时通讯框架。把Yii2应用的index.php中的内容放到Worker的代码前面,只是要把run改为init,即可将Yii2和Workerman结合使用。 首先要了解为什么用连接池,连接池能为你解决什么问题连接池主要的作用:1、减少与数据服务器建立TCP连接三次握手及连接关闭四次...

weixin_33903769的博客 330

Yii2.0美化路由Url

一、美化路由形式 如:localhost/index.php?r=site/index 这种路由形式对SEO不友好,那么是否可以对路由进行一下美化呢?在Yii2中我们可以将路由必成以下的形式: 如:localhost/index.php/sie/index 这种路由形式与我们在浏览器地址栏中见到的大多路由形式一样 get传递参数时,只需要在路由后通过?拼接即可,

hello PHP的博客 977

yii2basic用法之:3、优化路径,隐藏index.php 入口文件

这里需要说一下,我看到我们的都是直接在通过设置虚拟域名来做的,但是那个我没有做,因为我不会······,这里还是写一下传统的做法吧 1、修改apacha配置文件,我用的是wampserver2.5版本httpd.conf 2、打开重写模块    3、找到&lt;Directory "W:/wamp/www/"&gt;&lt;/Directory&gt;,将AllowOverride...

安然 568

HsYii试解MVC基本代码

本文对HsYii的控制器和模型进行注释解释,并且最后阐述了使用menu和role表的mvc的基本运行原理。 <?php class FoodEvaluationController extends BaseController { //声明一个控制器类,extends 表示继承, BaseController是它的父类 protected $model = ''; //成员变量,用于存放当前当前控制器对应的模型名字,该变量在init()方法中初始化 public function

weixin_46179373的博客 1359

人生最好的php,mysql,linux,redis,docker等相关技术经典面试题,新手收藏学习,持续更新中。。。

php面试题 1、写出你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面) # 200:服务器请求成功 # 301:永久重定向,旧网页已被新网页永久替代 # 302:表示临时性重定向 # 400:错误请求 # 401:未授权,没有权限,未登录 # 403:禁止访问 # 404:找不到页面 # 500:系统错误,服务器错误 # 502:无效响应 # 503:服务不可用,服务器由于维护或者负载过重未能应答 # 504:网关超时(nginx做为反向代理服务器,所连接的应用服务器无响应导致

cxhblog的博客 1万+
上一篇: 如何摆脱配置管理的尴尬局面
下一篇: 微软亚洲技术中心面试题
浩西
博客等级 码龄19年 47粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值