[問題] 請問為什麼Win和Linux執行檔不能互通?
問題(Question):
抱歉問一個蠢問題
請問為什麼在Windows OS下compile過後的執行檔(.exe)
拿到「同一台」機器下的Linux OS,為什麼不能執行?
而要在Linux下source code重新compile才能使用
我會有這個問題
是因為我的理解是,source code經過compile過後
就變成for某種cpu的機器碼了(例如x86機器碼)
而Windows OS和Linux OS,因為是同一台機器,假如也都是使用相同的x86機器碼
但是為什麼執行檔在不同OS不能互通呢?
謝謝! ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.113.225
※ 編輯: pluseus 來自: 140.109.113.225 (07/03 12:17)
→
07/03 12:27, , 1F
07/03 12:27, 1F
推
07/03 12:33, , 2F
07/03 12:33, 2F
→
07/03 12:34, , 3F
07/03 12:34, 3F
推
07/03 12:40, , 4F
07/03 12:40, 4F
→
07/03 12:50, , 5F
07/03 12:50, 5F
→
07/03 12:51, , 6F
07/03 12:51, 6F
→
07/03 12:52, , 7F
07/03 12:52, 7F
M大打的看不懂 @@"
不過h大打的大概能想像 系統服務像是程式在執行期配置記憶體是透過OS來完成
另外我會去找d大推薦的那本書來看
anyway,謝謝幾位的解答!
※ 編輯: pluseus 來自: 140.109.113.225 (07/03 13:00)
→
07/03 14:12, , 8F
07/03 14:12, 8F
→
07/03 14:13, , 9F
07/03 14:13, 9F
Yeap, I know it's a question quite fundamental and stupid.
I have said it in my post first line.
但是你不該很本位地把所有上來問問題的人都想成是資訊相關背景出身的人
我問了一個歷史很簡單的問題,所以我必須要是一個歷史系的學生?
還是我要是一個還沒上大學的高中生?
不是每個寫程式的人都詳細瞭解編譯器編譯時做了甚麼,不是嗎?
我覺得你都沒有看我的問題敘述
我有打為什麼我會有這樣的問題
我的思路很簡單,因為編譯器要把source code翻譯成cpu看得懂的機器語言
而同一台機器所需要機器語言是相同的
雖然是在不同OS編譯,但最後的所生成的執行檔的目標是相同的
所以我有這個問題,為什麼不同OS編譯下的執行檔不能互通
當然我的想法過於簡化
中間省略掉很多
而中間省略掉的部分
就是我不知道的部分、希望要問的地方
如果您願意提供一點方向
就算是告訴我哪裡有答案、要我自己去查
我都會很感謝
12:34,donby先生推薦了「程式設計師的自我修養」這本書
我13:40就衝到台北重慶南路天瓏去買了
http://img834.imageshack.us/img834/6606/l0un.jpg

不論如何,謝謝你下面的解答
→
07/03 14:14, , 10F
07/03 14:14, 10F
→
07/03 14:14, , 11F
07/03 14:14, 11F
→
07/03 14:15, , 12F
07/03 14:15, 12F
→
07/03 14:15, , 13F
07/03 14:15, 13F
→
07/03 14:16, , 14F
07/03 14:16, 14F
→
07/03 14:16, , 15F
07/03 14:16, 15F
推
07/03 14:32, , 16F
07/03 14:32, 16F
※ 編輯: pluseus 來自: 140.109.113.225 (07/03 15:29)
→
07/03 16:35, , 17F
07/03 16:35, 17F
推
07/03 17:13, , 18F
07/03 17:13, 18F
罵?請問您覺得我的問題有那裡任何不妥的地方,需要被「罵」嗎?
→ purpose:找到答案了,一堆人問過的問題 07/03 17:14
推
07/03 19:01, , 19F
07/03 19:01, 19F
→
07/03 19:01, , 20F
07/03 19:01, 20F
謝謝您推薦的書,I am reading the book.
書本P4開宗就講了那書本要探討的問題之一:「不同的編譯器(Microsoft VC、GCC)和不同
平台(x86、SPARC、MIPC、ARM),以及不同的作業系統(Windows、Linux、UNIX、
Solars),最終編譯出來的結果一樣嗎?為什麼?」
正好是我要的!非常謝謝!
推
07/03 20:10, , 21F
07/03 20:10, 21F
→
07/03 20:45, , 22F
07/03 20:45, 22F
謝謝您的一句話,讓我豁然開朗
→ maerdimer:那麼 why 不能問? 人家都說只是 curiosity 了 07/03 20:49
※ 編輯: pluseus 來自: 220.136.227.160 (07/03 21:47)
推
07/03 21:48, , 23F
07/03 21:48, 23F
是的,所以我還是非常感謝的 :)
※ 編輯: pluseus 來自: 220.136.227.160 (07/03 21:50)
→
07/03 22:35, , 24F
07/03 22:35, 24F
推
07/04 00:30, , 25F
07/04 00:30, 25F
推
07/04 16:45, , 26F
07/04 16:45, 26F
→
07/04 16:46, , 27F
07/04 16:46, 27F
推
07/05 11:12, , 28F
07/05 11:12, 28F
→
07/05 11:13, , 29F
07/05 11:13, 29F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 4 篇):