gpt4 book ai didi

c++ - 在 CPP 中使用 DLL

转载 作者:行者123 更新时间:2023-11-28 03:10:50 24 4
gpt4 key购买 nike

我是 CPP 的新手。我有一个创建 dll 的 Visual Studio 项目。我需要编写一个简单的代码来调用此 dll 中的函数。

到目前为止,我浏览的大部分问题都涉及从外部应用程序调用 dll 的问题。

我想要一个介绍这个概念的非常简单的教程。它加载一个 dll 一次,然后从一个简单的代码而不是一个应用程序重复调用它的函数。

一个简单的示例或指向它的链接将非常有帮助。

提前致谢

最佳答案

基本概念是:

  1. LoadLibrary:加载 dll。
  2. GetProcAddress:获取dll导出函数的地址。

MSDN Sample Code //假设您已经使用导出函数正确构建了 DLL。 //一个使用 LoadLibrary 和 //GetProcAddress 从 Myputs.dll 访问 myPuts。

#include <windows.h> 
#include <stdio.h>

typedef int (__cdecl *MYPROC)(LPWSTR);

int main( void )
{
HINSTANCE hinstLib;
MYPROC ProcAdd;
BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;

// Get a handle to the DLL module.

hinstLib = LoadLibrary(TEXT("MyPuts.dll"));

// If the handle is valid, try to get the function address.

if (hinstLib != NULL)
{
ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myPuts");

// If the function address is valid, call the function.

if (NULL != ProcAdd)
{
fRunTimeLinkSuccess = TRUE;
(ProcAdd) (L"Message sent to the DLL function\n");
}
// Free the DLL module.

fFreeResult = FreeLibrary(hinstLib);
}

// If unable to call the DLL function, use an alternative.
if (! fRunTimeLinkSuccess)
printf("Message printed from executable\n");

return 0;

}

关于c++ - 在 CPP 中使用 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18546941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com