回覆列表
-
1 # MosquitoVon
-
2 # 顏震1985
你這麼理解吧,講通俗點,最早的電腦是沒有圖形的,也是單純拿來計算的。你要用匯編語言去告訴cpu你想做什麼,後來世界首富老比做了windows系統,有圖形了,你只需要點點滑鼠就行了,所以他就成首富了。作業系統封裝好各種功能,讓你的圖形操作透過記憶體自動轉成cpu能讀懂的組合語言和01兩個數字,cpu反饋給你的就是螢幕顯示的一切和結果。
在此基礎上,也是在作業系統的基礎上就有了很多各種開發語言,他們的出現都是為了簡化開發難度,也是像作業系統一樣封裝好了各種功能,讓你只需要寫幾句簡單的程式碼就能去實現功能。
你開啟一個遊戲,遊戲的程式碼就會告訴cpu會從硬碟的哪裡調取遊戲的資源顯示,人物的各種數值儲存在記憶體的哪個位置,你選擇了怪物,最終還是透過記憶體告訴cpu,我選擇了位於記憶體地址的哪個數值,顯示給你的就是你選擇了他而不是你選擇了他。
這樣說不專業,但你能更好的理解執行機制和原理,為什麼計算機高手都是玩記憶體和彙編的,那是最底層的,說一堆專業術語你也不能能馬上理解。
由計算機語言的程式文字轉變為可執行的計算機程式通常有兩種途徑,一個是透過語言直譯器,一個是透過語言編譯器。
語言直譯器是類似作業系統的語言環境,在這個環境中,計算機語言程式文字是作為命令集被逐條解釋並執行。早期DOS,CP/M中自帶的BASIC直譯器,DBASE資料庫和著名的甲骨文等都屬於這一類。
語言編譯器是透過將程式文字轉換成機器語言檔案後將組合語言與預先編制好的函式庫程式進行連結從而構成可以在作業系統中直接執行的程式檔案。C,pascal,FORTRAN等語言都被提供有各種編譯器(borland公司的,微軟公司的等等),另外,BASIC語言和組合語言也有編譯器。
還有一種方式是介於二者之間的,先透過編譯器將程式文字轉換為未經連結或只進行部分連結的中間程式碼檔案作為可執行程式,然後再在指定環境中執行。如多數BASIC編譯器生成的程式必須在裝有專用RTL的環境中執行,其執行過程變為連結+執行。現在WINDOWS下的多數編譯系統採取了這種形式。