[問題] 菜鳥對跨作業系統編譯的疑問

看板C_and_CPP作者 (全力衝的築夢少年)時間7年前 (2017/09/24 05:29), 編輯推噓7(7023)
留言30則, 12人參與, 最新討論串1/2 (看更多)
====初學者發文,不專業請見諒m(._.)m==== 小弟電腦是Win10 64位元系統, 寫的是C語言 IDE用CodeBlocks, 請問有沒有辦法用現在的作業系統編譯出 可在其他作業系統運作的執行檔? -- ═╦═ \(・ω・)/ /(╦_╦)\ ☆   ║     ║ ║╔═╗║ ║║ ║╠═╗═╬★ ★═╗   ║║║╚═╣║ ║║ ║ ║ ║ ║ ╚═╝╚═╝ ║║ ║║ ║ ║ ╠═╝ \(⊙▽⊙)/╚═╝ >(>_<)< ╚╝ ║ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.136.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1506230942.A.1DB.html

09/24 13:33, , 1F
很難 不適合新手
09/24 13:33, 1F

09/24 13:34, , 2F
還是乖乖用vm或雙系統
09/24 13:34, 2F

09/24 14:18, , 3F
就跨平台編譯阿 常見的像是在windows寫MCU code
09/24 14:18, 3F

09/24 14:20, , 4F
cross compiler用來跨平台的,可以跨作業系統嗎?
09/24 14:20, 4F

09/24 14:23, , 5F
樓上你再想想你自己說的話是什麼意思
09/24 14:23, 5F

09/24 14:29, , 6F
也可以用docker
09/24 14:29, 6F

09/24 14:33, , 7F
感覺我好智障Q_Q
09/24 14:33, 7F

09/24 14:46, , 8F
就virtual machine囉
09/24 14:46, 8F

09/24 15:12, , 9F
gcc 不是辦不到,但是設定起來非常麻煩
09/24 15:12, 9F

09/24 15:13, , 10F
先練習寫出 Windows 和 Linux 都可以跑的 code 就行了
09/24 15:13, 10F

09/24 15:15, , 11F
剛開始問題不大,學得越多就越容易觸及跨平台的毛病
09/24 15:15, 11F

09/24 15:16, , 12F
編譯可以用 VM 裝另一個作業系統來編,簡單多了
09/24 15:16, 12F

09/24 15:16, , 13F
當然你硬要挑戰 cross compiler 我也不會反對的
09/24 15:16, 13F

09/24 15:17, , 14F
難歸難,辦得到的人薪水絕對不會太低
09/24 15:17, 14F

09/25 15:54, , 15F
Windows要編linux用bad in windows可嗎?
09/25 15:54, 15F

09/25 15:54, , 16F
*bash
09/25 15:54, 16F

09/25 16:18, , 17F
Bash on Windows 出來的執行檔不是原生的
09/25 16:18, 17F

09/25 16:19, , 18F
那個東西比較像 Cygwin,是一個特殊的子系統
09/25 16:19, 18F

09/25 16:19, , 19F
可以考慮 msys2,比原來的 mingw + msys 友善一些
09/25 16:19, 19F

09/25 16:20, , 20F
看錯了,要 cross compile 到 Linux 不是用 msys2
09/25 16:20, 20F

09/25 16:24, , 21F
我也只會開 VM,能編譯就好了 = =...
09/25 16:24, 21F

09/25 17:01, , 22F
樓上完全誤解WSL 在WSL裡跑的就是原生執行檔
09/25 17:01, 22F

09/25 17:03, , 23F
在WSL裡用Linux的toolchain build出來的就是ELF
09/25 17:03, 23F

09/26 04:30, , 24F
感謝樓上說明。小弟所謂「不是原生的」指的是
09/26 04:30, 24F

09/26 04:30, , 25F
「不是原生的 Windows 執行檔」,不過小弟沒注意到
09/26 04:30, 25F

09/26 04:31, , 26F
WSL 裡面跑的是真的 ELF
09/26 04:31, 26F

09/27 21:16, , 27F
vs 不是可以remote compile 嗎
09/27 21:16, 27F

09/27 21:35, , 28F
基本上 只要沒有include/link到os specified的檔案
09/27 21:35, 28F

09/27 21:36, , 29F
都可以用不同toolchain來換平台。
09/27 21:36, 29F

09/27 21:36, , 30F
當然裡面還有很多眉角(如endian) 不過大致能編過
09/27 21:36, 30F
文章代碼(AID): #1PnqAU7R (C_and_CPP)
文章代碼(AID): #1PnqAU7R (C_and_CPP)