zoukankan      html  css  js  c++  java
  • c# IL 指令解析


    .module     模块
    .assembly   程序集,.assembly伪指令指定了这个模块属于哪个程序集。模块只能包括一个单独的.assembly伪指令
    .entrypoint 进入点 在C#中,这个函数是Main,一个程序只能有一个开始点
    .ctor 构造函数
    .cctor 静态构造函数
    newobj 创建一个新的对象,对应c#中的new,当new被首次调用时,会为代码和变量分配内存。但是之后,在new上的每一次调用,只会为变量分配新的内存
    instance 实例函数,区别于静态函数
    .maxstack: 这个伪指令指定了在一个方法被调用时,能够出现在计算栈上的元素的最大数量。
    ret         函数结束指令
    call void System.Console::WriteLine()// call 调用函数       函数的返回类型(void) 命名空间(System) 类 (Console) 函数名称 (WriteLine())
    extends 派生
    ldstr "xx" 把字符串放到栈上。Ldstr的名称是文本"load a string on the stack"的缩写
    ldarg.0: 这是一个汇编器指令,它加载this指针或第0个参数的地址到执行栈上。每个非静态的或实例函数都传递了一个句柄,它表示调用这个函数的对象的变量位置。
    这个句柄被称为this指针。this由ldarg.0表示。这个句柄总是被传递为每个实例函数的第1个参数。由于它总是被默认传递,所以在函数的参数列表中没有提及

    pop      移出栈顶的任何元素
    locals   创建局部变量
    ldc.i4   i4就是从内存中获取4个字节,复制到栈,用于放置一个常量数字到栈上
    stloc.0  获取位于栈顶的值,stloc用于从栈上获取一个值,并将一个变量初始化为这个值

  • 相关阅读:
    Delphi XE4 FireMonkey 开发 IOS APP 发布到 AppStore 最后一步.
    Native iOS Control Delphi XE4
    Delphi XE4 iAD Framework 支持.
    using IOS API with Delphi XE4
    GoF23种设计模式之行为型模式之命令模式
    Android青翼蝠王之ContentProvider
    Android白眉鹰王之BroadcastReceiver
    Android倚天剑之Notification之亮剑IOS
    Android紫衫龙王之Activity
    GoF23种设计模式之行为型模式之访问者模式
  • 原文地址:https://www.cnblogs.com/50614090/p/2464823.html
Copyright © 2011-2022 走看看