导出Typdef函数指针到DLL

exporting typdef function pointer to dll

本文关键字:DLL 指针 函数 Typdef 导出      更新时间:2023-10-16

我正在进行一个练习,该练习为我提供了一个声明多个功能的标头文件,并要求我创建一个将动态加载的DLL,该DLL可以导出这些功能。对我来说,困难的部分是标题文件将函数声明为功能指针,这确实使我感到困惑。这是一个人的方式:

typedef int32_t* (__stdcall* T_func)(int32_t* a);

说明说我的dll应该导出函数" func",我可以做到,但是我希望只要DLL实现界面(如上图)。

我无法创建一个函数t_func,因为它是一个Typedef,并且我无法使用T_FUNC类型创建称为func的函数。我对应该如何根据他们给我的内容来声明功能感到困惑。创建一个称为func的函数,具有与T_FUNC相同的输入和返回类型的函数?

您只是在dll中声明函数为:

int32_t* __stdcall func(int32_t* a);

然后,在客户端代码中,您可以使用以下方式进行innamine Binationde Binationdeby

T_func pFunc = (T_func)GetProcAddress(hModule, "func");

这是Typedef派上用场的地方。DLL代码不使用它。

update :您的问题是标记为C ,您可能需要定义为extern "C"的函数,否则您将获得C 杂乱无章的名称。而且由于您可能正在使用MS-Windows

extern "C" {
declspec(dllexport) int32_t* __stdcall func(int32_t* a);
}