从 GetProcAddress() 返回的“地址”是什么?

问题描述

我对 GetProcAddress() 有点困惑。 引用 Win32 文档:

如果函数成功,则返回值是导出函数或变量的地址。

我知道对于函数GetProcAddress() 返回一个调用所需函数函数指针。但是,尚不清楚 GetProcAddress() 以这样的方式返回什么:

DLL 代码

typedef struct {
  uint64_t foo;
  double bar;
  char* baz;
} MyStruct;

__declspec(dllexport) MyStruct* my_struct_ptr;

__declspec(dllexport) long long special_global;

应用代码

void* my_struct_ptr = GetProcAddress(my_dll_handle,"my_struct_ptr");
void* special_global = GetProcAddress(my_dll_handle,"special_global");

应用程序中的 my_struct_ptrspecial_global 会指向什么?

编辑:my_struct_ptr 是否指向 DLL 的 my_struct_ptr 或 DLL 的 my_struct_ptr 指向的结构?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...