Просмотр CIL кода C # в Linux с моно - PullRequest
0 голосов
/ 28 августа 2018

Я хочу проверить сгенерированный CIL код следующего исходного файла C # в Linux:

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 вывод?

1 Ответ

0 голосов
/ 28 августа 2018

Моно дизассемблер, извлекает код IL из сборки:

monodis FILE-name

Полную ссылку можно найти здесь: https://www.mono -project.com / документы / инструменты + библиотеки / инструменты / monodis /

Dis / Сборка кода CIL (моно-проект)

...