您好,登錄后才能下訂單哦!
這篇文章主要講解了“C++靜態庫和動態庫怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++靜態庫和動態庫怎么使用”吧!
為什么要寫這個教程?
這個應用模型是我們在開發過程中經常使用的,例如:作為一名資深程序員,你需要為公司的應用開發工程師提供一個輪子:modbus通訊庫。通過閱讀modus協議之后,你可以手動實現這個庫,你也可以在一些第三方的開源軟件(比如:libmodbus)的基礎上進行簡單的修改,更快速的搞定工作。
如果你選擇了后面這種做法,在libmodus庫的外面再包裹一層你定義的API函數就可以輸出以你的名字命名的庫libNB.so,然后提供給應用開發人員。
但是在你的libNB.so中一定要靜態鏈接libmodbus庫,這樣就只需要提供一個libNB.so就可以了(.h頭文件當然是必須的),應用開發人員就會驚嘆:大牛就是大牛,這么快就搞定了!
相反地,如果你動態鏈接libmodbus庫,這樣你就得提供2個文件給應用開發人員:libmodbus.so和libNB.so,這樣就暴露了你偷懶的高尚品德。
這個教程就是來演示這個編譯和鏈接過程。
當然,也順帶著介紹一些make+Makefile, cmake, VS2017等相關知識。
教程中包含的內容
1. Linux平臺下
動態庫、靜態庫的編譯和使用;
動態庫和靜態庫的間接使用;
使用make + Makefile 來編譯/構建動態庫、靜態庫、應用程序;
使用cmake來編譯/構建動態庫、靜態庫、應用程序。
2. Windows平臺下
動態庫、靜態庫的編譯和使用;
動態庫的導出機制;
使用cmake+VS2017來編譯/構建動態庫、靜態庫、應用程序。
3. 大概就是這個樣子
視頻演示步驟
1. Linxu平臺
分別演示make + Makefile 和 cmake 來完成下面的操作:
(1)libA輸出動態庫,libB輸出動態庫,編譯可執行程序。
(2)libA輸出靜態庫,libB輸出動態庫,編譯可執行程序。
2. Windows平臺
演示用cmake得到VS項目,然后完成下面操作:
(1)libA輸出動態庫,libB輸出動態庫,編譯可執行程序。
(2)libA輸出靜態庫,libB輸出動態庫,編譯可執行程序。
(3)你還可以自己去測試剩下的排列組合。。。
感謝各位的閱讀,以上就是“C++靜態庫和動態庫怎么使用”的內容了,經過本文的學習后,相信大家對C++靜態庫和動態庫怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。