1.IL 基于栈——所有指令压入一个执行栈,并从栈弹出结果。2.IL 指令无类型——指令会判断栈中操作数的类型,并执行恰当的操作。3.IL 最大优势——应用程序的健壮性和安全性。将 IL 编译成本地 CPU 指令时, CLR 会执行验证过程。这个过程检查 IL 代码,确认代码所做的一切都是安全的。例...
如果Object是Dictionary类型,直接返回如果Object是NameValueCollection类型,则添加到Dictionary里如果Object是Hashtable类型,添加到Dictionary里...其他键值类型请自己完善如果Object非上述类型,则用IL语言将其转换成Dict...
分类:
其他好文 时间:
2015-03-30 18:20:16
阅读次数:
205
理解垃圾回收平台的基本工作原理每个程序都有使用不同的资源,比如文件、内存缓冲、屏幕空间、网络连接、数据库连接等,其实在面上对象的程序设计中,每个类型都代表可供程序使用的一种资源,要使用这些资源就必须为这些资源类型分配内存。下面是访问一种资源所需的步骤:(1) 调用IL指令的newobj,为代表资源的...
分类:
其他好文 时间:
2015-03-29 16:21:43
阅读次数:
101
今天在论坛上看到有人提到Unity5的诸多“罪状”,其中一条就是打出来的空包竟然有17mb,而之前的版本是9mb。我很好奇,难道是IL2Cpp搞的鬼?
因为好奇,我特意准备了Android环境(之前的环境太老了,不得不重新弄),打了一个空包试验了下。其实原因很简单,因为考虑到兼容性Unity5默认情况下同时打了armv7a和x86的动态库。于是空包的大小就增加了几乎一倍。
...
分类:
编程语言 时间:
2015-03-28 21:48:24
阅读次数:
357
好久以前遇到过一个项目,其中调用一个封装好了的dll,混淆加密加壳还打乱命名了,反编译了出来也是看起来头大,直接IL修改重新生成dll解决了问题。 最近又需要改一个这样的dll,记录下来步骤 首先把dll单独复制出来,查看dll运行库 然后导出.il文件...................
分类:
其他好文 时间:
2015-03-20 12:39:26
阅读次数:
440
Raspberry Pi (BCM2835): Device Information Architecture ARMv6 CPU ARM11 RAM 256MB OR 512MB since October 2012 (shared with?GPU) GPU VideoCore IV OpenGL OpenGL ES 2.0 Multimedia OpenMax IL 1.1.2 Qt...
分类:
Web程序 时间:
2015-03-20 07:01:51
阅读次数:
1569
工作几年了才看,记录下笔记备忘。1.CLR的执行模型公共语言运行时(Common Language Runtime,CLR)源代码-->编译器检查语法和分析源代码-->托管模块(manged module)(含IL代码)-->运行时有JIT编译器生成cpu指令执行托管模块由PE32|PE32+(64...
官方给出的定义是: 托管代码(Managed Code)就是中间语言(IL)代码,在公共语言运行库(CLR)中运行。编译器把代码编译成中间语言,当方法被调用时,CLR把具体的方法编译成适合本地计算机运行的机器码,并且将编译好的机器码缓存起来,以备下次调用使用。随着程序集的运行,CLR提供各种服务:....
1.CLR简介全称:Common Language Runtime(公共语言进行时)属性:一种托管模块使用对象:面向CLR的所有语言(C#、Basic、IL...)核心功能:内存管理、程序集加载、安全性、异常处理、线程同步2. 源代码与CLR的关系3.CLR托管模块的组成部分【PE32 或 PE32...
一、原理:C#是专门为.net程序框架而创造的语言。.net框架有ms的.netFramework;Mono的.NetFramework(也是符合.net IL语言,CTS规范,CLS规范, CLR执行时库),mono程序能够执行在各种操作系统和游戏平台中执行(眼下mono还不够成熟影响力较小)。....
分类:
编程语言 时间:
2015-03-16 15:52:54
阅读次数:
2246