經過昨天的開始讓我開始調整好我的時差,不然忘記分享給大家可能就糟糕了~可是今天好像是個睡覺的好日子,可不可以不要講嗎
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
對不起我錯了,下次不敢了~
那我還是乖乖地開始今天的鐵人賽好了,今天的話由於 .NET 的語言主要是由C#、 F#、 Visual這些來選寫,其他的我不太清楚,要是還有其他的希望知道的好朋友可以分享給我。那今天的話就會以較常使用的C#來做個介紹~~~
要知道的一寫小知識
上面這些都很多都是在開發 C# 所需要的基本知識,由於這些東西不可能用一天就說明完,所以這些東西我都會在之後的鐵人賽來為大家做的說明。
我們再跑程式前看起來只要打個指令或按個開始鍵就好,但實際上程式執行起來沒有想像那麼簡單,尤其像 C# 這類高階語言更是麻煩。
(圖片來源: https://ithelp.ithome.com.tw/articles/10213175)
C# 在 .NET上執行時,會透過common language runtime (CLR) 的虛擬機器元件(virtual machine component)和一組類別庫,用來管理執行中的 .NET程序。
C# 在編譯上會把原始程式碼編譯成符合CLR規格的中繼語言(IL),通成都會以.dll或.exe的副檔名。中繼語言有時也稱為通用中間語言 (CIL) 或 Microsoft Intermediate Language (MSIL)。
在編譯成IL檔前,主要會先對原程式碼(C#)做一次的編譯,其中Managed 就是我們所會編譯成的另一種語言, Managed 程式碼有可以說是受到執行階段管理的程式碼。
在在編譯好IL後,接下來就會由CLR來接管編譯,CLR階段時會先將執行Just-in-time compilation(JIT) 編譯,以將 IL 程式碼轉換成原生電腦指令。其中CLR會提供與自動垃圾收集、例外狀況處理和資源管理相關的其他服務。
最後的經過JIT變異後就可以變成機器語言好讓電腦去執行我們程式碼所要做的指令了~~
超簡單版: 原始碼➜編譯器➜中繼語言(MSIL)➜CLR➜電腦看得懂的語言(Native code)
是不是很簡單,當初在看這裡時我根本不知道那些奇怪的 (英文單字) 的用處在幹嘛,但多看了慢慢有感覺好想知道它在幹甚麼,但有可能我在這裡的理解還不夠深,所以有不好的地方可提醒我喔!!!如果想更深入了解的話可以到下面連結看看。
C#是一個程式語言, .NET是一個平台的框架,目前有 Windows平台專屬的.NET Framework 與跨平台的 .NET Core 兩種
那今天的鐵人賽就到這裡了,大家再見我要去爬枕頭山了~~~
相關資料: