古詩詞大全網 - 古詩大全 - sodl

sodl

1.確實沒什麽標準可言,dll主要就是提供代碼動態加載。所以它只需要讓加載器能夠找到正確的函數名就行了。保證鏈接過程不出錯即可。大型API要遵循壹些原則,是因為函數提供給其他人應用,而且是二進制格式發布。就算是自己的dll文檔對函數的解釋也要寫清楚。以後維護升級保證dll內原始的函數原形不發生變化。沒有什麽模式需要妳遵循。dll的內容也只是函數的集合而已。

2.dll分幾種,其實只是可執行文件格式而已。so文件也是壹種可執行格式(ELF格式)。計算機發展到現在可執行文件格式有多種變體。鏈接器和加載器.pdf 壹書對可執行文件講的比較詳細,妳肯定不是編譯器和連接器的開發者。所以妳不需要知道這麽多。只需要知道可執行文件存放著我需要的代碼,連接器把不同的庫連接到壹起,然後main函數就可以在執行過程中動態調用它們。推薦看:深入剖析Win32可移植可執行文件格式 鏈接器和加載器 兩份資料

妳去搜搜可執行文件格式,可以找到壹些文章。

3.其實不許要註意什麽,so性質和dll是壹樣的(存放著可執行代碼,鏈接需要的信息,符號表等等。)。它們只是在不同平臺下的動態鏈接庫而已。對於dll到so註意什麽?對於普通程序員沒什麽要註意的。我們只需要寫出代碼然後,使用連接器和編譯器就可以了。細節問題是編譯器和連接器加載器的實現者關心的。

4.COM即是壹種可執行格式(dos時代),也是壹種 “組件對象模型”。前者已經不主流了,後者不過時。com也是dll這些dll按照com規範提供固定名稱的函數(俗稱“接口”)。需要加載這些com的主程序,也遵循com規範調用這些函數。這樣兩邊就能協同工作。