Импорт DLL с C ++ (Win32) - PullRequest
       32

Импорт DLL с C ++ (Win32)

13 голосов
/ 17 декабря 2009

Как импортировать DLL (minifmod.dll) в C ++?

Я хочу иметь возможность вызывать функцию внутри этой DLL. Я уже знаю список аргументов для функции, но я не знаю, как ее вызвать.

Есть ли способ объявления импортированной функции в C ++, как в C #?

Ответы [ 3 ]

12 голосов
/ 17 декабря 2009
5 голосов
/ 17 декабря 2009

Если библиотека DLL содержит библиотеку типов COM, вы можете использовать инструкцию #import следующим образом:

#import dllname.dll

В противном случае вам нужно будет связать с библиотекой импорта и предоставить прототип функции для вашего компилятора. Обычно библиотека импорта и заголовочный файл с прототипами предоставляются разработчиком DLL. Если нет, их может быть очень сложно получить - , если вы уже знаете список аргументов для функции, которую, как вы говорите, делаете. Инструкции можно найти здесь , среди других мест.

0 голосов
/ 03 сентября 2018

Во время выполнения вы можете вызвать LoadLibrary(), а затем вызвать GetProcAddress() для доступа к функции из DLL. Вам нужно будет привести этот адрес к прототипу, который вы определили с помощью typedef. См. Пример на странице документации GetProcAddress.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...