原始檔&程式碼的分別

2010-04-21 8:11 am
原始檔&程式碼的分別
更新1:

tom.......... are you kidding ? I am asking what it is !

回答 (4)

2010-04-22 5:02 am
✔ 最佳答案
我諗你講嘅「原始檔」同「程式碼」應該係指「Source code」同「Machine code」

講兩樣嘢分別之前,先講講佢哋係乜,當係Confirm係唔係exactly你問緊嘅嘢又好,當係畀唔知咩事嘅人明白啲都好啦。

電腦係點樣Work嘅呢?
有上過電腦堂嘅人應該會知道,宜家啲電腦只識認「有電」同「無電」。一連串「有電」「無電」嘅訊號流經CPU等組件就會做到唔同嘅事。人為咗方便理解就用二進制數字(Binary)「0」同「1」分別表示上面兩種狀態。

所謂Machine code,就係某台電腦(準確地講,機器)理解到嘅「0」「1」組合。某指定長度嘅Binary code表示住一個指令(譬如加減數、跳去某步之類),跟住又一個指定長度嘅Binary code就係對應指令嘅參數(以加減數為例就係符號隔離個數咁)

咁宜家電腦啲程式就係靠人寫嗰啲「0」「1」寫出嚟?
係人都應該有咁嘅感覺:電腦諗嘢同做嘢嘅方式同正常人比差得好遠喎!唔好話作為用家嘅我哋,恐怕真係知道啲「0」「1」組合做啲咩嘅人買少見少。所以就有譬於編譯器(Compiler)嘅嘢,佢可以睇得明人用接近人類語言(即係英文)寫出嚟嘅原始碼(Source code),再將Source入面啲指令譯做對應嘅Machine code。於是乎人就可以叫電腦做人想佢做嘅嘢啦。

上面純粹用講故咁嘅方式去解釋Source code同Machine code係咩,佢哋嘅分別呢,我覺得可以一句起兩句止:Source code係人可以理解到嘅文字(Text)指令;Machine code係電腦理解到嘅二進數(Binary)指令

Extra:
Source code同Machine code係唔係得一種?
呢個世界人話都有幾十甚至上百種啦,機器世界都一樣!譬如西洋人母語係英文,中國人母語係中文咁,機器因應佢嘅種類同OS有唔同嘅Machine language,喺電腦世界入面比較common就有Windows x86,x86就係Intel、AMD等CPU嘅類別(起源自Intel 8086)。Source code嘅language都係一樣,不過佢哋主要係因唔同特色而發展出嚟,未必跟死一種機,譬如C++就喺好多唔同機種上都有對應嘅compiler。另外Source language有分高低階,愈高就愈似人類語言(即係似係跟足埋人類語言啲Grammar)。低階就有匯編語言(Assembly),佢其實就係用幾個字去對應一個Machine code嘅指令,不過Assembly source都係要由匯編器(Assembler)去匯編成machine code架先可以畀機器睇得明喎。

2010-04-22 07:52:36 補充:
@ anderslee - 先多謝閣下指教。我嘅意思係雖則Windows同Linux喺同一部機都係用相同嘅Machine language,不過譬於Linux唔識認Windows exe,反過嚟都係,所以都係OS-dependant嘅…

我承認我嘅答案未必係100%準確,不過都唔好一劈頭就嚟句「錯哂」,除非我真係由頭到尾,徹徹底底咁錯到飛起,好嗎?
2010-04-22 6:32 pm
我真係好認真咁答

「原始檔」擺明係解「source code file」,係一個檔案
「程式碼」擺明係解「source code」,係檔案裡的內容(可以來自n個file)

或者樓主講多少少想比較哪一方面的特性
2010-04-22 7:52 am
<<機器因應佢嘅種類同OS有唔同嘅Machine language>>
錯晒!!
Machine Language主要係粒CPU實際執行。不同OS在同一部機跑o既一定係相同的machine language。OS只會影響個API,即係畀應用程式呼叫的方式,同個machine language冇影響。
<<比較common就有Windows x86,....>>
在講machine language提到WINDOWS係錯,同上理。 Linux同Windows跑在PC機都係用x86,根本唔係windows所以係x86。
2010-04-21 11:36 pm
原始檔is one of 程式碼
參考: tom


收錄日期: 2021-04-26 11:25:57
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100421000051KK00017

檢視 Wayback Machine 備份