随笔分类 - 匹夫细说CIL
摘要:CIL究竟应该使用call呢还是应该使用callvirt呢?那么匹夫就和各位一起去分析下这个话题背后的故事吧~~从ILGenerator实现一段本该报错的代码,到揭露CIL代码中的call 和 callvirt的异同,探索c#方法调用背后隐藏的知识点。
阅读全文
摘要:之前匹夫也介绍过CIL其实也是面向对象的,所以寻思着大过年的,不如就写一个类,一个用来抽象化小匹夫的类吧,既可以介绍下小匹夫,小匹夫也可以借这个类给各位拜年。那么顺序由上到下,无外乎如何声明一个类,类成员如何定义,以至于到后来如何实例化一个类,并且调用实例的各个方法,当然本文的完整CIL代码各位可以在附录部分看到。
阅读全文
摘要:以上一篇文章中的那个CIL实现的Hello Wolrd程序为基础,继续通过写CIL代码实现一些功能的方式来和各位探讨交流,同时也加深自己对CIL的掌握和印象。会涉及:函数的实现,局部变量的声明,cil是如何依托堆栈执行命令的,以及装箱~~~
阅读全文
摘要:为何是CIL?难道不能直接从C#,VB...编译成机器码码?那为何又是栈式机?难道不能是内存,寄存器吗?详细分析一下这两个问题之后,再让我们从Hello World开始书写CIL的旅程吧!
阅读全文