2010-08-18 50 views
1

我有兩個dll的a.dll和b.dll及其庫文件a.lib和b.lib。我正在嘗試編寫第三個具有使用a.dll和b.dll中的函數的函數的dll。如何使用C中第三個DLL的代碼?

這可能嗎?

輸出必須是一個DLL本身 - 這是一個絕對的要求。

我有完整的C源代碼。

+1

如果我正確理解你的問題,那麼你的問題標題是非常誤導。你想編寫一個使用其他兩個DLL的DLL,或者你是否想要以產生第三個DLL的方式使用這兩個現有的DLL? (我假設你的意思是前者,但是你的頭銜暗示後者。) – stakx 2010-08-18 18:02:35

+0

前者。我想寫一個使用其他兩個現有dll提供的函數的dll。 – Voices 2010-08-18 18:19:07

回答

0

'這可能嗎?'

總之,是的。 DLL可以像EXE一樣包含對其他DLL的引用。你不會說什麼編譯器正在使用,但很可能'lib'包含對DLL的庫引用。所以,您需要將這些庫添加到您的新DLL的鏈接器配置中。

您通常會通過其頭文件引用其他DLL中的任何函數原型(儘管您可以再次對它們進行原型設計,因爲您說您擁有代碼,這似乎沒有必要),這與您使用的代碼一樣來自EXE的DLL。

您需要確保所有三個DLL一起部署,因爲新的DLL引用了現有的DLL,它不會將函數的副本放入其中。

相關問題