Tuesday, June 3, 2014

Proses Kompilasi Menggunakan .NET Compiler


(Sumber: https://gwb.blob.core.windows.net/manjunathk/.netcompilation.jpg )
Sumber : https://gwb.blob.core.windows.net/manjunathk/.netcompilation.jpg

Diagram diatas menggambarkan proses kompilasi yang ada pada .NET Framework. Proses ini dimulai dari level code writing, compiling, sampai dengan melakukan executing pada aplikasi.
Saat suatu aplikasi menggunakan .Net Framework sebagai compilernya, kode tersebut akan terkompilasi sesuai dengan jenis compilernya masing-masing (contohnya csc compiler, vb compiler, dan lainnya), berdasarkan bahsa pemrograman yang digunakan (c# ataupun vb).
Setelah kode dikompilasi, kita akan mendapatkan IL Assembly (Intermediate Language) yang kemudian akan dikonversi menjadi IL code atau Byte Code (Intermediate Language Code). Proses konversi ini dibantu oleh 2 tool, yaitu ilasm.exe dan metaengine. File .exe ataupun .dll yang dihasilkan akan berisi IL Code, yang kemudian dikonversi menjadi native code.
Ilasm.exe bertugas untuk mengkonversi IL assembly menjadi MSIL Code, sedangkan Metaengine menciptakan metadata serta mengintermediasi format code.

Hasil program yang berupa .exe yang dihasilkan mengandung IL Code. Saat program .exe ini dieksekusi pada sistem yang memiliki .NET Framework, IL Code tersebut akan terkonversi menjadi native code (yang dimengerti mesin). Proses konversi ini dilakukan oleh JIT Compiler (Just In Time Compiler). JIT ini berada pada level CLR (Common Language Runtime).

No comments:

Post a Comment