Защо се нуждаете от междинен код в MSIL
Теоретично кодът, разработен на различни езици за програмиране в средата .NET(C#,Visual Basic.NETи т.н.) и преобразуван в код на езикаMSILв крайна сметка ще има същия вид. Освен това, след преобразуване на програмния код вMSIL, ще бъде трудно да се определи оригиналниятезик за програмиране.
Защо е необходима тази двуетапнакомпилацияна приложението? Тези, които са разработвали езици на ниско ниво, знаят, че разработването на програмен код е специфично при разработване за всяка платформа. Това означава, че разработването на приложение за 32-битова и 64-битова платформа може да има значителни разлики. В същото време, когато се игнорират характеристиките на разработката за конкретна платформа, може да има както некритични последици (например под формата на намаляване на производителността), така и критични (например неработоспособност на приложението). В това отношение често ще видите два вида пакети за разпространение на приложения (32-битови и 64-битови). Освен това едно приложение често изискваоптимизиранена своя код, за да работи по-ефективно. Всички тези задачи са сложни по природа и могат да отнемат много време от разработчика на приложението. В този случай разработчикът трябва да отдели времето си не заподобряванена логиката на програмата, а за решаване на инфраструктурни задачи. Все пак, въпреки сложността на този процес, има алгоритми, които могат да свършат по-голямата част от работатапооптимизиране на кода за конкретна платформа без човешка намеса. Именно тази идеология се придържа към .NETFramework.
Когато стартирате IL код, той се преобразува в машинен код. Въпреки това целият процеспреобразуването се извършва в средата, където трябва да се изпълняваприложението(на машината на крайния потребител, където се изпълняваприложението). Този факт дава възможност да се оптимизира крайният машинен код, който се получава в процеса на преобразуване, за платформата, на която ще се изпълнява. Също така, при този подход не е необходимо да има две различни компилации за различни среди (32-битова и 64-битова) - крайният машинен код ще бъде получен, като се вземат предвид спецификите на платформата. Тъй като преобразуването "MSIL- естествен код" отнема известно време, времето за изпълнение записва получения собствен код в системните папки и следващия път, когато се използва приложението, което е стартирано по-рано, се използва вече подготвеният код. Общият процес на компилиране е както следва.

Не намерихте това, което търсихте? Използвайте търсачката: