關於Window 與linux的程式庫 |
尚未結案
|
popo80
一般會員 ![]() ![]() 發表:2 回覆:0 積分:0 註冊:2005-06-05 發送簡訊給我 |
|
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
library 的關係:
windows *.dll ---- linux *.so
windows *.lib ---- linux *.a 因bin 格式不同,windows 是 PE 格式的執行檔
而Linux 是ELF 格式的執行檔
關於 ELF 格式 請參考
http://www.study-area.org/cyril/opentools/opentools/x909.html
http://www.cs.ucdavis.edu/~haungs/paper/node11.html
關於 PE 格式
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx 二者的空間配置不同,無法直接轉換,google 上也沒有查到相關 tool
如果要寫這種工具的話…真的是大工程,要對二者格式精通還要了解os層之類的知識才能進行轉換 平台轉換還是以source code 來轉換比較實際
將 windows lib 的src移至linux 編譯,較為可行
不清楚GNU C/C++ 的編譯選項是否有PE/ELF 可選,如果有就很方便
同一src 就可在windows 一次編譯二個平台的code…這個還要查查 另linux 下若要能使用 *.lib 或 *.dll 大概就只能靠模擬器吧wine 之類的
|
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
補充資料
Comparison of free x86 linkers
其中MinGW 編譯後輸出的格式有Win32 PE COFF .EXE or.DLL,ELF,binary, and hex
http://my.execpc.com/~geezer/osd/linkers.htm 分析Windows和Linux動態庫
其中說明二者的dynamic library 差異
http://www.linuxbyte.net/view.php?skin=art&ID=3650 操作系统的跨平台技術
其中有介紹wine 工作原理
http://www.softcon.cn/expert/zhujianmin.asp
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |