動态連結庫
動态連結庫全稱Dynamic Link Library(簡稱DLL),通常是由一組實作某種特定功能的函數集合。它包含了該功能的具體實作方法和資源,通過編譯生成一個字尾為DLL的檔案供應用程式或者其他dll調用。使用者不需要知道功能的具體實作過程,隻需要根據DLL提供的API正确傳參就可以得到想要的結果。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYjZjNxYDN3YWYiFWNjhTO2YTYmNzY1kzM5QWOxUmY18CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
DLL的優點
DLL隻有在被調用的時候才需要配置設定記憶體而且多個程序可以同時使用一個 DLL,在記憶體中共享該 DLL 的一個副本可以大大節省記憶體和減少交換操作。DLL可以使用多種程式設計語言編寫,隻要程式遵循函數的調用約定就可以被其他程式設計語言所調用,大大提高了代碼複用性和拓展性。當DLL中的函數發生更改時隻要函數的參數和傳回值沒有更改,就無需重新編譯調用的應用程式,有助于應用程式的更新和優化等。
C++編寫DLL
在寫Fanuc開發的時候我就喜歡把fanuc操作的所有功能編寫成一個動态連結庫,具體的實作方法可以參考專欄中的文章【C/C++實戰023:動态類庫的開發詳解】。