1.先将不同语言的代码生成托管模块。如图,每个语言有自己对应的编译器。 和普通编译器不同,这个编译器是生成IL代码,不是直接的机器码。编译也就是我们平时生成的过程。 f5c# 调用C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe (我是这...
分类:
其他好文 时间:
2015-02-13 16:06:23
阅读次数:
199
先科普一下,.Net是一个用于Windows的托管代码模型,用于高效构建具有视觉上引人注目的用户体验的应用程序。但这个模型生成的代码并非可执行代码,而是由.Net公共语言运行库环境执行的IL代码。所以,每次执行代码时,都会由.Net将IL代码翻译为机器代码。所以,效率上自然会受到一定影响。对此,微....
分类:
其他好文 时间:
2015-02-13 10:05:09
阅读次数:
265
可变参数的方法是指具有 CallingConventions.VarArgs 调用约定的方法,可以根据需要传递任意个数的参数,参数的类型也可以互不相同。本文从 P/Invoke、C# 中可变参数方法的声明、IL 代码和 RuntimeArgumentHandle 四个方面介绍了 C# 中的可变参数方...
首先从两者的声明上来看,公共字段只是类用public修饰符所公开的简单公共变量,而属性则是对字段的封装,它使用get和set访问器来控制如何设置或返回字段值。由于属性的实质是方法(get或set方法),在IL中是没有属性的概念的。所以对于开发过程中常用的赋值和取值操作来说,使用公共变量肯定会比使用属...
分类:
其他好文 时间:
2015-02-10 14:55:46
阅读次数:
165
道理越辨越明。我不是来吵架的,而是来澄清一些概念。赵劼的看法实在有些偏激,但凡与之意见向左的,一概穷追猛打至死。赵同学在社区的影响力在我之上,但这也正是其可怕之处——一旦有所偏差,必然会误导更多的朋友。有感于他的毁人不倦大多穿凿附会之说,于是,暂时搁下手上的工作,发此文以正视听。 综观赵劼《老赵谈I...
分类:
其他好文 时间:
2015-02-10 14:44:51
阅读次数:
172
最近更新到最新版本Unity3D,使用IL2CPP发布64位IOS应用的时候发现了这个问题。它导致我原来加密的文件解压不出来了,查了一天,修正了。
1. 在github下载zip的原码,https://codeload.github.com/0xd4d/de4dot/zip/master
2. 直接放在unity3d工程下,编译的时候,编译器会直接覆盖系统自带的zip。
3. 修改源...
分类:
编程语言 时间:
2015-02-09 10:59:35
阅读次数:
389
C# 在运行时只能进行兼容的引用类型转换和装箱/拆箱转换,因此我利用 System.Reflection.Emit 实现了一套在运行时动态生成 IL 进行类型转换的框架,能够在运行时实现与编译器基本相同的类型转换支持,并对泛型类型提供了完整的支持。可以完整兼容各种数值类型转换、隐式/显式引用类型转换...
分类:
其他好文 时间:
2015-02-03 06:58:25
阅读次数:
221
源码来源:TI DM8168EZSDK OMX examples decode_display
基本执行流程如下:
ilclient.c //主体程序文件
↓
void IL_ClientInputBitStreamReadTask (void*threadsArg);...
分类:
其他好文 时间:
2015-01-27 21:54:49
阅读次数:
392
转自http://www.billauer.co.il/peakdet.html
翻译
peakdet: Peak detection using MATLAB
Here's a problem I encounter in several fields: Find the local maxima and minima in some noisy signal, which typicall...
分类:
其他好文 时间:
2015-01-24 11:41:40
阅读次数:
354
装箱:将值类型转换成引用类型的的一种机制。拆箱:获取已装箱对象中被装箱字段的地址;值得注意的是拆箱并不是装箱的逆过程。如果你不知道怎么看自己的代码是不是发生了装箱,一个简单的方法就是通过visualstudio自带的IL反编译工具查看,如下面的代码,大家可以在IL指令中去找box,如果哪里出现它,就...