精華區beta Programming 關於我們 聯絡資訊
※ 引述《Aligu1009.bbs@ptt.cc (=.=)》之銘言: > 我們平常寫C/C++, java等 > 寫完後編譯產生執行 (或class) 檔 > 然後就可以執行了 > 但 為什麼一堆軟體都要有install的動作呢? > install,然後才能執行 > 直接有個執行檔給人點個兩下 開始動作 不也很直覺嗎? > 為什麼會有install檔這樣的東西呢? 謝謝 這真是個有趣的問題:) 你寫一個程式時,當程式在執行時會去 load 一些 DLL 檔 這些 DLL 檔可能是微軟 OS 提供的,或者是一些套裝軟體 提供的,比如 office,所以當你 compile 好你的程式之後 再把程式丟到另一台電腦執行,你可能會發現無法執行,因 為某個 DLL 找不到,當你把這個 msgbox 告訴你所欠缺的 DLL copy 到你要執行的電腦時,幸運的話也許就正常執行 了,但如果不幸的話,它將會告訴你又欠缺了什麼 DLL 檔 這時候很可能你必須 copy 好幾個 DLL 檔你的程式才得以 執行 所以這時候如果你用一些工具把你的程式包裝成 setup.exe 這個 setup.exe 它自己會去 check 這台電腦有哪些 DLL 沒有裝上,它會幫你裝上。 比如你寫 DirectX 的遊戲,需要 DirectX Runtime Lib, maybe 這台電腦用的是 DirectX 8,但你的電腦開發環境是 DirectX 9,這時候如果你有用到一些 9 才有的 function 問題就會產生了。但幸運的是,這時候我們口中的 setup.exe 將會負責打理好這一切,包括版本的 check,安裝的過程中 若有需要也會尋問 user 是否 replace DLL 如果只想要一個執行檔,比如只用 printf 或者你是用組合 語言開發的,只用到一些 OS 就會提供的 DLL,可能就不大 需要 install,但通常越高階的語言或開發工具就越會有 dependency 的問題,而且通常也會越複雜。 -- ◣█ .尋找今晚屬於你的夢境. ˍˍˍ ˍˍˍˍˍ________ ˍ ˍˍ ◤尋夢位址:corp-nat.taipei.corp.yahoo.com ˍ ˍˍ 國立虎尾科技大學.bbs.nfu.edu.tw◢
FlyinDeath:推這篇~解釋的很清楚 ^^ 61.217.98.148 12/03 11:22