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版,都不用再改檔案了。不過,在有的版本編譯器中,不寫庫名稱是不能通過的,那就請使用第一種。
相關文章
- web開發的一些問題Web
- Unity使用VS開發編碼格式的問題Unity
- 一些Android開發的基本問題Android
- Qt 之 WindowFlags 引發的有趣問題一則QT
- **開發環境一些基本問題開發環境
- iOS 開發中遇到的一些證書問題iOS
- Vs2017 typescript 開發小問題TypeScript
- 前端開發中遇到的一些問題----持續更新前端
- 我想問下go語言開發網站的一些問題Go網站
- 一些有趣的程式設計師智力面試題程式設計師面試題
- 談談一些有趣的CSS題目(六)–全相容的多列均勻佈局問題CSS
- 小程式開發所遇的問題以及一些小細節
- Windows 2000開發過程中一些有趣的資料 (轉)Windows
- 一些有趣的Javascript技巧JavaScript
- 教育系統開發中的一些技術問題解析
- 用C#呼叫C++DLL時的字串指標引數傳遞問題C#字串指標
- 開發者談如何讓遊戲的開發過程本身也相對有趣一些遊戲
- 專案開發中一些注意與問題小記
- docker開荒hyperf遇到的一些問題Docker
- 有趣的CSS題目(7):消失的邊界線問題CSS
- 使用Hibernate、JPA、Lombok遇到的有趣問題Lombok
- laravel開發中遇到的問題與bug修復的一些總結Laravel
- Vue專案開發過程中遇到的一些問題總結Vue
- php做EXCEL資料匯出匯入開發的一些小問題PHPExcel
- 一些有趣的VBS指令碼指令碼
- Flutter 混合開發實戰問題記錄(四)編譯執行時問題的一些總結Flutter編譯
- 實際開發中的一些小問題,覺得還行,轉載下
- 關於chrome有趣的一些彩蛋Chrome
- 一些有趣的程式設計名言程式設計
- php使用mysqlnd引發的一些問題處理PHPMySql
- workerman開發過程中遇到的一些常見的問題與解決方法
- 使用JBOSS開發CMP的問題?
- 有趣的DBA面試題面試題
- Go記憶體架構,一個有趣的問題Go記憶體架構
- 有趣的SQL-搜尋前三名問題SQL
- xcode 的一些問題XCode
- 在vscode中go編碼發生的問題整理VSCodeGo
- 求教JetSpeed開發問題