Re: [問題] 請問為什麼Win和Linux執行檔不能互通?
※ 引述《pluseus (回憶真美麗)》之銘言:
: 問題(Question):
: 抱歉問一個蠢問題
: 請問為什麼在Windows OS下compile過後的執行檔(.exe)
: 拿到「同一台」機器下的Linux OS,為什麼不能執行?
: 而要在Linux下source code重新compile才能使用
: 我會有這個問題
: 是因為我的理解是,source code經過compile過後
: 就變成for某種cpu的機器碼了(例如x86機器碼)
: 而Windows OS和Linux OS,因為是同一台機器,假如也都是使用相同的x86機器碼
: 但是為什麼執行檔在不同OS不能互通呢?
: 謝謝! ^^
執行檔 <---> OS <---> CPU
OS 只是個中間人 把執行檔的內容翻譯給 CPU 去跑
如果執行檔寫沒針對當下 OS 去寫,OS 看不懂,不能執行
如果執行檔不是針對當下機器去寫,OS看懂但 CPU 看不懂,也是不能執行
我的理解是這樣,有錯還請指正
借這個討論串問一下
既然同一份執行檔,不能在相異 OS 下跑 那可不可以把兩份執行檔合併一個檔案?
大家有看過一個檔案 又是壓縮檔又是圖片?
因為壓縮檔是從檔案後面開始解讀,圖片是從檔案前面開始讀取
所以我可以 copy /b 圖片.jpg + 壓縮檔.zip 複合物.jpg
用這個概念設計一個 copy /b win.exe + a.out 複合物.exe
因為 Windows 比較難搞所以 win.exe 擺前面,這樣這個複合物在 Windows 應該可以跑
那有沒有什麼特殊的技巧 可以讓 Linux 也看的懂這複合物
進而達到一個執行檔可以在 Windows 又可在 Linux 下跑的目的?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.71.122
推
07/10 04:35, , 1F
07/10 04:35, 1F
→
07/10 04:35, , 2F
07/10 04:35, 2F
推
07/10 06:01, , 3F
07/10 06:01, 3F
→
07/10 06:05, , 4F
07/10 06:05, 4F
→
07/10 08:17, , 5F
07/10 08:17, 5F
→
07/10 08:23, , 6F
07/10 08:23, 6F
推
07/10 08:26, , 7F
07/10 08:26, 7F
→
07/10 08:28, , 8F
07/10 08:28, 8F
→
07/10 10:31, , 9F
07/10 10:31, 9F
→
07/10 10:31, , 10F
07/10 10:31, 10F
→
07/10 10:31, , 11F
07/10 10:31, 11F
→
07/10 10:32, , 12F
07/10 10:32, 12F
推
07/10 10:44, , 13F
07/10 10:44, 13F
→
07/10 10:44, , 14F
07/10 10:44, 14F
推
07/10 17:24, , 15F
07/10 17:24, 15F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):