和什么語言類似?
c#和java類似,c#是一門半編譯型半解釋型語言,意思是:
A.cs源代碼文件被編譯器編譯(編譯、鏈接)成A.exe(A.obj、A.exe)文件,而文件A.exe中存放的并不是某一款真實cpu(比如intel的x86處理器、AMD的處理器)的機器指令,而存放的是可以一種虛擬處理器(即虛擬機,類似于java虛擬機,這里指的不是像vmware那樣的虛擬機)的機器指令。當雙擊A.exe時,實際上系統是,讓該虛擬機來解釋A.exe中的指令,虛擬機將A.exe中的指令解釋為當前真實CPU上的指令,并將解釋后的指令在真實cpu上運行,以讓A.exe運行。
從A.cs轉化成A.exe是編譯的過程,而虛擬機解釋A.exe并在真實CPU上執行指令是解釋的過程。
而C語言是一門純粹的編譯型語言,A.c被編譯器編譯成A.exe,而A.exe直接在真實CPU上運行,沒有解釋的過程。