Làm thế nào .NET có thể chạy được code C#(hay F#,VB )

Trước mắt, ta cần hiểu được làm thế nào .NET có thể chạy được đoạn code C#(hay F#, VB) mà bạn code. Để hiểu rõ được những điều này, bạn cần nắm rõ quy trình compile code trong .NET

Thien Tech

 

Trước mắt, ta cần hiểu được làm thế nào .NET có thể chạy được đoạn code C#(hay F#, VB) mà bạn code. Để hiểu rõ được những điều này, bạn cần nắm rõ quy trình compile code trong .NET

Trong hình:
Phần "Complile time" là quá trình "BUILD"
    Nguyên lý khi bạn build trong visual Studio hay dùng lệnh "dotnet build" thì code của bạn được chuyển hóa thành dạng ngôn ngữ trung gian là MSIL(viết tắt của từ Microsoft Intermediate Language)
Phần "Runtime" là quá trình chạy ứng dụng(Quá trình này tính từ khi bạn khởi động chạy ứng dụng của bạn)
    Khi bạn khởi chạy ứng dụng, thành phần CLR (Viết tắt của Common language runtime) sẽ làm động tác dịch mã MSIL thành mã máy máy(Native code) quá trình này được gọi là JIT Compiler
    
 

 

Common Language Runtime (CLR)

Hình 1

 

Common Language Runtime in .NET Framework

Hình 2

Code Compile

Hình 3

Common_Language_Infrastructure

Hình 4: Common Language Infrastructure

Tại sao trong .NET cần phải có ngôn ngữ trung gian MSIL
Lý do là trong .NET đã thiết kế sẵn MSIL khi biên dịch ứng dụng do .NET có khá nhiều mảng như C#, VB, F# nên ngôn ngữ trung gian là cần thiết để phiên dịch từ các ngôn ngữ thành 1 ngôn ngữ chung

 

Related Posts