精華區beta CSSE 關於我們 聯絡資訊
※ 引述《final01 (牛頓運動定律)》之銘言: : 是compiler.libc.linker-editor .program loader : 哪一個階段使他不能執行呢? : 應該是LINKER就會有差別了吧? : WINDOWS的Libc應該跟LINUX一樣吧?或是有些許差別? : 這裡的LIBC應該就是GLIBC吧? : 這問題想很久了~謝謝指教 執行檔的格式根本不同. Windows用的執行檔是PE格式, Linux用的是ELF格式. 詳細的比較可以看這裡: http://www.acm.uiuc.edu/sigmil/RevEng/ch08.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.134.126.84 ※ 編輯: leicheong 來自: 202.134.126.84 (04/02 18:32)
final01:我知道是格式不同~想問是誰用成不同格式的 04/02 18:40
final01:照你這樣講是COMPILER摟?因為可下ELF格式參數 04/02 18:41
H45:有些原始碼會依存某些lib,而這些lib又因os而異 04/02 19:18
H45:所以光是source code就應寫成Windows版和Linux版甚或Mac版三種 04/02 19:20
H45:不過如果是無依存關係的程式,就不需要想這麼多了.... 04/02 19:21
H45:我舉個例吧,如果寫個程式要使用到3D硬體加速的話,該怎麼辦 04/02 19:22
TroyLee:OpenGL 好像可以跨平台, 用 GLUT 的 Lib ? 04/02 20:22
as1986:windows和linux的syscall完全不一樣 04/03 12:25
leicheong:Lib倒不一定是主要原因, 可以像RAR一樣用link成static 04/03 15:18
leicheong:我想如果問這問題的話, 先假定這EXE只做變數連算而不 04/03 15:20
leicheong:輸出結果好了... 04/03 15:21
gwliao:其實WinXP中很多程式都不能在MS DOS 6.2當中執行. 04/04 02:52
gwliao:同一家的OS都這樣了, 何況是不同作者的OS. 04/04 02:53
gwliao:很多時候, 相同的樣子是會被告. 04/04 02:55
gwliao:不同的話, 也是該OS對那不同之處有自己的見解. 04/04 02:55
gwliao:不同的見解當然會帶來不同的實作結果. 04/04 02:56
drkkimo:不同格式的執行檔loader看不懂 04/06 22:28
drkkimo:道理好像不同格式檔案用不同程式開一樣 04/06 22:29
welon:Windows 那個不是叫COFF 04/10 19:14
zhim:coff 是 obj的格式吧 05/19 06:16