整理自: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,很麻煩。想偷懶的話...