c++ - 如何在 DLL 中隐藏导出函数

标签 c++ visual-studio winapi dll

我不希望用户通过我的 DLL 中的依赖项看到所有导出函数,有没有办法做到这一点?我用 C++ 和 MS Visual Studio 编译我的 DLL。

最佳答案

另一种选择可能是创建一个导出函数,它将返回您想要隐藏的函数的地址数组 - 一旦您拥有这些地址,您就可以直接调用它们

static void** Funcs = {&foo, &foo1, &foo2, 0};

__declspec (dllexport) void* GetFuncs (void)
{
   return &Funcs;
}

在您的可执行文件中,您可以执行以下操作

void** Funcs = GetFuncs();

(*Funcs[0]) (1, 2, 3);

关于c++ - 如何在 DLL 中隐藏导出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848144/

相关文章:

c++ - 将预制的 OpenCV 安装移动到另一台 Linux 计算机

c++ - mkdir,带符号的路径名

visual-studio - 保存并运行从Visual Studio Docker支持创建的容器

winapi - 需要列表控制 LVM_SETTOPINDEX

c++ - OpenCV:如何有效地将 Mat2d 矩阵的每个元素乘以 Mat1d 矩阵

c++ - 使用外部方法中断循环

r - 如果你已经有了 Rstudio,那么 RTVS 有什么用?

c# - BackgroundWorker 多线程访问表单

c++ - 无法更改窗口背景

c++ - 从 GetAdaptersAddresses 返回的 ERROR_INSUFFICIENT_BUFFER