C 呼叫DLL C 缺失匯出函式

2021-09-26 05:28:52 字數 551 閱讀 1375

正在折騰directshow輪子. 不過已經是第二次編寫相關的dll.

正想用c#除錯一下dll.結果報:試圖載入格式不正確的程式

這裡已經準確設定了目標平台. (c# 試圖載入格式不正確的程式)

所以, dll編譯出來終究還是得用工具測一測, 然而depends walker卻因dll結構複雜莫名假死.

返璞歸真用dumpbin /exports xx.dll. 結果吃了一鯨:

我寫的函式去哪了?

往著這點出發, 回看了一下專案的匯出函式只放在了.h標頭檔案中, 相應的cpp檔案因為強迫症被移除. 從編譯的原理來看, 或許這就是問題所在. 於是建立回.cpp檔案. 一定別忘了把.**件給包含起來啦.

重新生成一下, dumpbin測試終於正常. c#除錯也正常

c語言建立dll,c語言呼叫dll

一 c語言建立dll 開發工具 vs2012 0.新建專案 win32控制台程式 選擇dll 空專案 完成。1.建立標頭檔案cdll.h ifndef dllmain h define dllmain h ifndef dll export define libapi declspec dllexp...

C 呼叫C 庫引數為匯出函式

c 庫的介面定義如下 ifdef testdll exports define testdll api declspec dllexport else define testdll api declspec dllimport endif strmsg 輸入引數,pretmsg 輸出引數 testd...

c 呼叫dll函式,匯出類中的成員函式

對於dll的操作,我們可以使用dumpbin檢視dll 和lib。注意寫好dll後 用depends檢視匯出函式時會發現匯出的函式名不是你寫的那樣出現所謂的亂碼入?等 這就注定dll不能通過顯示連線的方式匯入。如果想通過顯示連線的方式匯入可以為類新增乙個友元函式去實現顯示連線建立類得物件 這裡對於匯...