有 h和 lib 如何生成DLL

2021-05-22 09:25:42 字數 1092 閱讀 3021

整理自:http://social.msdn.microsoft.com/forums/zh-tw/230/thread/fdf1dba3-3804-4bb4-95c3-c54758fb3358

q:我有乙份硬體廠商給的sdk,裡面有 ***x.h 和 ***x.lib 還有vc6.0的操作範例..

不過我目前要是使用c#來開發我的應用程式,我找了一下,c#似乎是無法直接使用lib,必須轉換成dll使用。

我現在不知道如何轉換成標準的dll。

感謝大家的幫忙

a:如果原廠不提供dll, 您就需要使用vc++建立dll型態的專案, 在專案中呼叫廠商提供的lib中的功能, 並在這個專案中引入必要的.h, 做好之後建置專案會得到dll, 再把dll拿給vb專案, 由vb程式透過dllimport引用

a:請廠商提供dll, 不然就自己使用vc++建乙個使用lib的dll專案, 再把做好的dll拿給c#使用

q:小弟現在遇到類似的問題,軟體廠商提供一組以c撰寫的api

但是小弟希望能夠以vb2005撰寫,請問該怎麼做呢?

a:早期的 link32.exe 其實可以將 lib 跟 dll 互轉,應該是 vc4 以前吧~

但是這邊後來發現有智財權的問題,因為 lib 跟 dll 用途不同,是分別賣的,所以後來 link32.exe 就不能將這兩種格式互轉了。

請廠商提供是最快的,廠商要賺錢,通常解決方案都有了,只是會不會提供給你而已,沒有解決方案只是把客戶推給別人,所以問原始廠商比較快。

a:如果您是要在vb.net的程式中呼叫c函式, 可以使用平台呼叫的技巧, 請參考:

q:由於原始廠商不提供dll檔案,且依據您的範例

我查了msdn,dllimport屬性似乎沒有提到該如何引入.h與.lib,

那是否意味著無法直接引入呢?

a:如果原廠不提供dll, 您就需要使用vc++建立dll型態的專案, 在專案中呼叫廠商提供的lib中的功能, 並在這個專案中引入必要的.h, 做好之後建置專案會得到dll, 再把dll拿給vb專案, 由vb程式透過dllimport引用

s:看來這是目前唯一的方法了...

如何使用dll和lib

針對vs2010下的個人理解 一 1 工程目錄 即是 vcxproj 或者 vcxproj.filters 檔案所在的目錄,即你寫的 的位置。2 解決方案目錄 即是 sln 檔案的所在的目錄。3 表示的當前目錄。4 表示當前目錄的前乙個目錄。二 當我們生成乙個dll檔案時,會產生dll檔案和lib檔...

dll生成lib檔案

如何從dll檔案匯出對應的lib檔案?visual c 開發工具提供了兩個命令列工具,乙個是dumpbin.exe,另乙個是lib.exe。利用這兩個工具即可從dll匯出其對應的lib。1 在命令列執行 dumpbin exports yourdll.dll yourdll.def exports ...

通過dll生成lib

大家知道,使用dll的時候有2種方式 第一種是 loadlibrary getprocaddress 第二種是 使用lib檔案或 pragma comment lib,yourlib.lib 有時候你只有dll和標頭檔案,沒有lib檔案,這時候要乙個個的getprocadress,很麻煩。想偷懶的話...