我想检查生成的 CIL Linux 上以下 C# 源文件的代码:
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 输出呢?
最佳答案
Mono 反汇编程序,从程序集中提取 IL 代码:
monodis FILE-name
可以在这里找到完整的引用: https://www.mono-project.com/docs/tools+libraries/tools/monodis/
分解/汇编 CIL 代码(单声道项目)
关于c# - 使用 mono 在 Linux 上查看 C# 代码的 CIL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52050379/