網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

dll和so文件區別

欄目: 心理 / 發佈於: / 人氣:7.5K
dll和so文件區別

Dll與或b(MacOS)文件所使用的機制幾乎相同,因此很難確切解釋它們之間的區別。

核心區別在於每種文件類型默認情況下可見的內容。文件導出語言(gcc)級鏈接-這意味着(默認情況下)拉入時(默認情況下)所有“外部”的C&c++符號都可用於鏈接。這也意味着,解析文件本質上是一個鏈接步驟,加載程序不關心符號來自哪個文件。它僅遵循.a文件遵循的常規鏈接步驟規則,以某種順序搜索指定的文件。

另一方面,Dll文件是一種操作系統功能,與語言的鏈接步驟完全分開。MSVC使用文件來鏈接靜態庫和動態庫(每個dll文件都會生成一個用於鏈接的成對的文件),因此,一旦生成該程序,就將其完全“鏈接”(從語言中心角度)。。

但是,在鏈接階段,會在代表Dll的庫中解析符號,從而允許鏈接程序在PE文件中構建導入表,其中包含dll的顯式列表以及每個dll中引用的入口點。在加載時,Windows不必執行“鏈接”來解析共享庫中的符號:該步驟已經完成-Windows加載器僅加載dll並直接連接函數

Tags:文件 dll