作者:
joylintp (joylintp)
2017-09-24 13:28:56====初學者發文,不專業請見諒m(._.)m====
小弟電腦是Win10 64位元系統,
寫的是C語言 IDE用CodeBlocks,
請問有沒有辦法用現在的作業系統編譯出
可在其他作業系統運作的執行檔?
作者:
damody (天亮damody)
2017-09-24 13:33:00很難 不適合新手還是乖乖用vm或雙系統
作者:
chuegou (chuegou)
2017-09-24 14:18:00就跨平台編譯阿 常見的像是在windows寫MCU code
作者:
Lipraxde (Lipraxde)
2017-09-24 14:20:00cross compiler用來跨平台的,可以跨作業系統嗎?
作者: caras 2017-09-24 14:23:00
樓上你再想想你自己說的話是什麼意思
作者:
testPtt (測試)
2017-09-24 14:29:00也可以用docker
作者:
Lipraxde (Lipraxde)
2017-09-24 14:33:00感覺我好智障Q_Q
作者: cortex1234 2017-09-24 15:12:00
gcc 不是辦不到,但是設定起來非常麻煩先練習寫出 Windows 和 Linux 都可以跑的 code 就行了剛開始問題不大,學得越多就越容易觸及跨平台的毛病編譯可以用 VM 裝另一個作業系統來編,簡單多了當然你硬要挑戰 cross compiler 我也不會反對的難歸難,辦得到的人薪水絕對不會太低
作者:
oToToT (å±å©)
2017-09-25 15:54:00Windows要編linux用bad in windows可嗎?*bash
作者:
Neisseria (Neisseria)
2017-09-25 16:18:00Bash on Windows 出來的執行檔不是原生的那個東西比較像 Cygwin,是一個特殊的子系統可以考慮 msys2,比原來的 mingw + msys 友善一些看錯了,要 cross compile 到 Linux 不是用 msys2我也只會開 VM,能編譯就好了 = =...
作者:
sa73157 (欣婕)
2017-09-25 17:01:00樓上完全誤解WSL 在WSL裡跑的就是原生執行檔在WSL裡用Linux的toolchain build出來的就是ELF
作者:
Neisseria (Neisseria)
2017-09-26 04:30:00感謝樓上說明。小弟所謂「不是原生的」指的是「不是原生的 Windows 執行檔」,不過小弟沒注意到WSL 裡面跑的是真的 ELF
基本上 只要沒有include/link到os specified的檔案都可以用不同toolchain來換平台。當然裡面還有很多眉角(如endian) 不過大致能編過