VS開發C++Dll的一些有趣問題
在用VS的C++開發dll的過程中,為了使暴露函式清楚明瞭,一般採用Def檔案來寫明暴露函式名稱。
Def檔案一般格式如下:
; ***.def : 宣告 DLL 的模組引數。
LIBRARY “***”
EXPORTS
; 此處可以是顯式匯出
Fun1 @1
Fun2 @2
Fun3 @3
***一般代表dll檔名稱。首行中; ***.def,可以任意寫名稱。第三行 LIBRARY “***”的名稱卻不可隨意亂寫。一定要與dll名稱相同,且不用寫dll或lib尾綴。
其實,LIBRARY後是可以寫尾綴的。在一種情況下還必須寫尾綴:那就是有“.”的情況下,如dll名稱為:ABCv2.1,如果在DEF檔案中寫成:LIBRARY “ABCv2.1”,那麼恭喜你,除錯程式時,會提示,找不到ABCv2.1檔案。微軟將“.1”當作了尾綴,這種情況有兩種解決辦法。
- 將DEF檔案中的第三行,改寫為LIBRARY “ABCv2.1.dll”
- 直接去掉LIBRARY後的庫名稱。
推薦第2種,這樣無論是D版或R版,都不用再改檔案了。不過,在有的版本編譯器中,不寫庫名稱是不能通過的,那就請使用第一種。
相關文章
- **開發環境一些基本問題開發環境
- 一個有趣的this指向問題
- 一個有趣的鎖問題
- 前端開發中遇到的一些問題----持續更新前端
- 使用Hibernate、JPA、Lombok遇到的有趣問題Lombok
- 有趣的 events_statements_current 表問題
- 開發者談如何讓遊戲的開發過程本身也相對有趣一些遊戲
- 一些有趣的部落格
- 一些有趣的程式設計師智力面試題程式設計師面試題
- 教育系統開發中的一些技術問題解析
- docker開荒hyperf遇到的一些問題Docker
- 專案開發中一些注意與問題小記
- 一些有趣的VBS指令碼指令碼
- laravel開發中遇到的問題與bug修復的一些總結Laravel
- hive的一些問題Hive
- Flutter 混合開發實戰問題記錄(四)編譯執行時問題的一些總結Flutter編譯
- 有趣的路燈問題——按規律列印圖形
- Go記憶體架構,一個有趣的問題Go記憶體架構
- workerman開發過程中遇到的一些常見的問題與解決方法
- 介紹一些有趣的MySQL pager命令MySql
- [開發問題]React-native問題集React
- 記錄redis的一些問題Redis
- 整理的一些常見問題
- 小程式遇到的一些問題
- WKWebView的一些問題彙總WebView
- 關於Redis的一些小問題Redis
- JavaScript 中的一些奇怪問題JavaScript
- vuejs整合echarts的一些問題VueJSEcharts
- 一些有趣的 CSS 魔法和佈局(下)CSS
- 一些有趣的 CSS 魔法和佈局(上)CSS
- 用網上的API做一些有趣的事API
- 幽默meme:如何提問題 Vs. 樂觀答題 Vs. 悲觀答題
- edk2+VS2008配置問題
- 有趣的ES:解決es返回結果數量限制問題
- 被忽視的開發安全問題
- MyBatis之五_開發中的問題MyBatis
- 一些小問題彙總
- VS Code開發TypeScriptTypeScript