c - 序数导出的函数是如何调用的?

标签 c windows export

大多数函数导出名称,但有些函数按序号导出,

这些函数是如何调用的?

最佳答案

@AProgrammer:你的问题有两个答案。首先,链接器将知道要调用哪个序号。创建库时,此信息保存在 .lib 文件中。否则,正如 @c-smile 所指出的,您可以使用 GetProcAddress 来查找该函数并调用它。

int ordinal = xxx;
functor = (MyFunctorType) GetProcAddress(hMod, (LPCSTR) ordinal);
if (functor)
{
    functor(...);
}

@DriverBoy:是的,这确实意味着 .DLL 中导出的符号不能超过 65536 个。

关于c - 序数导出的函数是如何调用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000292/

相关文章:

python - Cython:教程找不到从未引用过的外部符号

c - 我的 Win32 应用程序不会退出主循环

windows - Linux 到 WinXP over UDP 滞后

.net - 如何在 .NET 中收听 Windows 广播消息?

Android 库项目 - 资源 $NotFoundException

c - 什么是指针能做而变量不能做的?

c - C中的结构到二维结构指针赋值

Java RMI - UnicastRemoteObject : what is the difference between UnicastRemoteObject. exportObject() 并扩展 UnicastRemoteObject?

ios - AVAssetExportSession 完成导出后不告诉我

VS Code 中的 C\C++ 和适用于 Windows 的 Linux 子系统