A DLL - это файл библиотеки, который содержит скомпилированную программную логику, как и EXE. Вы не можете выполнить его в одиночку, но, как EXE-файл, вы не можете просто «загрузить» его в свой проект.
Вам потребуется использовать такие функции, как Загрузить библиотеку , чтобы загрузить библиотеку, а затем GetProcAddress , чтобы найти функцию, которую вы хотите вызвать.
Edit:
После того, как вы пояснили свой вопрос в комментариях, вы пытаетесь написать программу для Windows вместо программы, которую вы запускаете на своем устройстве.
Я написал пример кода, чтобы показать вам, как начать:
#include <windows.h> // This is a windows header file. The functions I mentioned above are declared here
#include "mpusbapi.h" // This is the header file supplied. It declares the function prototypes that are defined in the DLL
int main(int argc, char* argv)
{
// Try to load the library
HMODULE mpbusDLL = NULL;
mpbusDLL = LoadLibrary(L"mpusbapi.dll");
if (mpbusDLL != NULL) {
// If the library could be loaded, then load the functions using GetProcAddress()
// Load the function 'MPUSBOpen' from the DLL
MPUSBOpen = (HANDLE(*)(DWORD, PCHAR, PCHAR, DWORD, DWORD)) GetProcAddress(mpbusDLL, "_MPUSBOpen");
...
MPUSBOpen(...);
}
}
Этот код C загрузит вашу библиотеку, а затем попытается загрузить функцию MPUSBOpen
, которая реализована в вашей DLL.
Вам нужно будет загрузить другие функции, определенные в вашем заголовочном файле, таким же образом (по крайней мере, если вы хотите их использовать).