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

作者: 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:00
cross 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
作者: eye5002003 (下一夜)   2017-09-24 14:46:00
就virtual machine囉
作者: cortex1234   2017-09-24 15:12:00
gcc 不是辦不到,但是設定起來非常麻煩先練習寫出 Windows 和 Linux 都可以跑的 code 就行了剛開始問題不大,學得越多就越容易觸及跨平台的毛病編譯可以用 VM 裝另一個作業系統來編,簡單多了當然你硬要挑戰 cross compiler 我也不會反對的難歸難,辦得到的人薪水絕對不會太低
作者: oToToT (屁孩)   2017-09-25 15:54:00
Windows要編linux用bad in windows可嗎?*bash
作者: Neisseria (Neisseria)   2017-09-25 16:18:00
Bash 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
作者: soheadsome (師大狗鼻哥)   2017-09-27 21:16:00
vs 不是可以remote compile 嗎
作者: Killercat (殺人貓™)   2017-09-27 21:35:00
基本上 只要沒有include/link到os specified的檔案都可以用不同toolchain來換平台。當然裡面還有很多眉角(如endian) 不過大致能編過

Links booklink

Contact Us: admin [ a t ] ucptt.com