【问题标题】:View CIL of C# code on Linux with mono使用 mono 在 Linux 上查看 C# 代码的 CIL
【发布时间】:2018-08-28 04:59:02
【问题描述】:

我想在 Linux 上检查以下 C# 源文件生成的 CIL 代码:

using System;
namespace PrintPrimes
{
    class Algorithm
    {
        static bool IsPrime(int p)
        {
            for (int i=2;i<p;i++)
            {
                for (int j=i;j<p;j++)
                {
                    if (i*j == p)
                    {
                        return false;
                    }
                }
            }
            return true;
        }
        static void Main() 
        {
            for (int p=2;p<=20;p++)
            {
                if (IsPrime(p))
                {
                    Console.WriteLine(p + " ");
                }
            }
        }
    }
}

当我编译并运行它时,一切都很好:

$ mcs -out:PrintPrimes PrintPrimes.cs
$ ./PrintPrimes
2 
3 
5 
7 
11 
13 
17 
19 

但我怎样才能获得人类可读的 CIL 输出?

【问题讨论】:

标签: c# linux mono cil


【解决方案1】:

单反汇编器,从程序集中提取 IL 代码:

monodis FILE-name

完整的参考可以在这里找到: https://www.mono-project.com/docs/tools+libraries/tools/monodis/

拆解/组装 CIL 代码(单一项目)

【讨论】:

  • ikdasm 较新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多