作者joylintp (全力衝的築夢少年)
看板C_and_CPP
標題[問題] 菜鳥對跨作業系統編譯的疑問
時間Sun Sep 24 13:28:56 2017
====初學者發文,不專業請見諒m(._.)m====
小弟電腦是Win10 64位元系統,
寫的是C語言 IDE用CodeBlocks,
請問有沒有辦法用現在的作業系統編譯出
可在其他作業系統運作的執行檔?
--
☆═╦═ \(・ω・)/ /(╦_╦)\ ☆
║ ║ ★
║╔═╗║ ║║ ║╠═╗═╬★ ★═╗
║║★║╚═╣║ ║║ ║ ║ ║ ║
╚═╝╚═╝★ ║║ ║║ ║ ║ ╠═╝
☆\(⊙▽⊙)/╚═╝ >(>_<)< ╚╝ ║ ☆
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.136.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1506230942.A.1DB.html
1F:→ damody: 很難 不適合新手 09/24 13:33
2F:→ damody: 還是乖乖用vm或雙系統 09/24 13:34
3F:推 chuegou: 就跨平台編譯阿 常見的像是在windows寫MCU code 09/24 14:18
4F:→ Lipraxde: cross compiler用來跨平台的,可以跨作業系統嗎? 09/24 14:20
5F:→ caras: 樓上你再想想你自己說的話是什麼意思 09/24 14:23
6F:→ testPtt: 也可以用docker 09/24 14:29
7F:→ Lipraxde: 感覺我好智障Q_Q 09/24 14:33
8F:推 eye5002003: 就virtual machine囉 09/24 14:46
9F:→ cortex1234: gcc 不是辦不到,但是設定起來非常麻煩 09/24 15:12
10F:→ cortex1234: 先練習寫出 Windows 和 Linux 都可以跑的 code 就行了 09/24 15:13
11F:→ cortex1234: 剛開始問題不大,學得越多就越容易觸及跨平台的毛病 09/24 15:15
12F:→ cortex1234: 編譯可以用 VM 裝另一個作業系統來編,簡單多了 09/24 15:16
13F:→ cortex1234: 當然你硬要挑戰 cross compiler 我也不會反對的 09/24 15:16
14F:→ cortex1234: 難歸難,辦得到的人薪水絕對不會太低 09/24 15:17
15F:推 oToToT: Windows要編linux用bad in windows可嗎? 09/25 15:54
16F:→ oToToT: *bash 09/25 15:54
17F:推 Neisseria: Bash on Windows 出來的執行檔不是原生的 09/25 16:18
18F:→ Neisseria: 那個東西比較像 Cygwin,是一個特殊的子系統 09/25 16:19
19F:→ Neisseria: 可以考慮 msys2,比原來的 mingw + msys 友善一些 09/25 16:19
20F:→ Neisseria: 看錯了,要 cross compile 到 Linux 不是用 msys2 09/25 16:20
21F:推 Neisseria: 我也只會開 VM,能編譯就好了 = =... 09/25 16:24
22F:→ sa73157: 樓上完全誤解WSL 在WSL裡跑的就是原生執行檔 09/25 17:01
23F:→ sa73157: 在WSL裡用Linux的toolchain build出來的就是ELF 09/25 17:03
24F:推 Neisseria: 感謝樓上說明。小弟所謂「不是原生的」指的是 09/26 04:30
25F:→ Neisseria: 「不是原生的 Windows 執行檔」,不過小弟沒注意到 09/26 04:30
26F:→ Neisseria: WSL 裡面跑的是真的 ELF 09/26 04:31
27F:推 soheadsome: vs 不是可以remote compile 嗎 09/27 21:16
28F:→ Killercat: 基本上 只要沒有include/link到os specified的檔案 09/27 21:35
29F:→ Killercat: 都可以用不同toolchain來換平台。 09/27 21:36
30F:→ Killercat: 當然裡面還有很多眉角(如endian) 不過大致能編過 09/27 21:36