C# Complier boleh ditakrifkan sebagai komponen terbina dalam yang digunakan untuk menukar kod program C# menjadi kod bahasa yang boleh dibaca mesin, yang mengembalikan fail output dalam bentuk fail .dll atau fail .exe. C# mempunyai dua jenis kaedah kompilasi iaitu Common Language Runtime compiling (CLR) dan Just in time compiling (JIT). Penyusun JIT selanjutnya diklasifikasikan sebagai pengkompil Pra JIT, pengkompil JIT Biasa dan pengkompil Econo JIT. Beberapa alatan yang biasa digunakan untuk tujuan penyusunan ini ialah C# compiler 2.0, C# compiler 3.5, C# compiler 4.x, Roslyn and Mono Compiler.
Jadi, selepas bahasa perantaraan dijana, kami perlu menukar IL ini kepada kod mesin kerana pemproses hanya memahami kod mesin. Jadi kami menggunakan CLR (Common Language Runtime) untuk penukaran ini. CLR ialah program yang berjalan pada komputer dan menukar kod IL kepada kod mesin dengan bantuan Just-In-Time (biasa dipanggil JIT). Apabila kami mengklik dua kali pada fail .exe pengkompil JIT dipanggil dan menyusun kod IL pada bahagian masa itu, jadi itulah sebabnya ia dinamakan JUST-IN-TIME(JIT).
Kompilasi boleh dilakukan secara tersirat atau tersurat. Kompilasi tersirat ialah kompilasi dua kali di mana pertama, ia disusun IS dan selepas itu, ia disusun kepada bahasa mesin. Proses ini dipanggil kompilasi JIT atau kompilasi JUST-In-Time. JIT menyokong berbilang platform dan mempercepatkan pelaksanaan kod.
Terdapat tiga Pengkompil Just-In-Time yang berbeza
1. Penyusun Pra JIT
Dalam pengkompil ini, hanya terdapat satu proses penyusunan kerana keseluruhan kod sumber disusun ke dalam kod asli.
2. Pengkompil JIT biasa
Dalam pengkompil ini, hanya kaedah tersebut disusun ke dalam kod mesin, yang diperlukan pada masa jalankan. Pengkompil menyusun kaedah tersebut, menyimpannya dalam cache dan menggunakan kaedah yang sama sekali lagi.
3. Pengkompil Econo JIT
Dalam pengkompil ini, hanya kaedah tersebut disusun ke dalam kod mesin yang diperlukan pada masa larian namun kaedah ini dialih keluar jika ia tidak diperlukan. Dalam JIT, hanya kaedah yang diperlukan disusun pada masa larian, oleh itu, ia memerlukan penggunaan memori yang kurang.
Dalam rajah di atas
1-3 langkah akan dilaksanakan pada masa penyusunan
3-5 langkah akan dilaksanakan pada masa larian.
Jadi, apabila kita menjalankan dua jenis ralat ini berlaku.
Penyusun Microsoft yang lebih awal dinamakan sebagai .Net Framework seperti C# compiler 2.0, C# compiler 3.5, C# compiler 4.x, dsb. Penyusun ini tidak ditulis dalam C# atau kita boleh katakan C# tidak disusun oleh C#. Penyusun lain yang wujud selepas ini ialah:
Terdahulu pengkompil telah ditulis dalam C/C++. Roslyn ialah pengkompil .Net sumber terbuka di mana kod C++ diganti. Ia mengambil jenis elemen dalam kod, hubungannya antara satu sama lain. Oleh kerana pasukan C# dan VB menulis pengkompil, templat studio visual tersedia untuk kedua-duanya. Ia membolehkan kami menulis kod yang menghuraikan fail sumber dan Mudah untuk kami mengubah suai kod sumber.
Berikut ialah empat lapisan API Roslyn
Pengkompil Mono C# berdasarkan piawaian ECMA untuk C#. Ia mempunyai berbilang versi dengan rangka kerja seperti C# 1.0, 2.0, 3.0, 4.0. Pengkompil mono mcs menyasarkan rangka kerja 1.1, gmcs menyasarkan rangka kerja 2.0 manakala smcs dan dmcs menyasarkan rangka kerja 2.1 dan 4.0 masing-masing.
Pengkompil lain seperti pengkompil RemObjects C# yang mengikut piawaian C# mengikut spesifikasi EMCA dan selain itu terdapat pengkompil GNU C# yang melaksanakan C# dan .Net.
Pengkompil C# sama seperti pengkompil lain yang menyusun kod ke dalam kod mesin supaya pemproses boleh memahami prosesnya.
Atas ialah kandungan terperinci Penyusun C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!