【发布时间】:2012-01-16 14:02:28
【问题描述】:
我有一个动态加载的 dll,上面调用了函数,我想给它传递一个结构。它是动态加载的,因为我不知道在运行时之前我将使用哪个版本的 dll。
首先,我应该通过值还是引用?
其次,我在哪里声明这个结构,以便它对 dll 及其调用者都可用(我假设它必须对两者都可用)。
如果我在接受它作为参数的同一个 dll 中声明它,那么 dll 的任何潜在用户都必须静态链接到 dll,以便它可以访问结构声明,这就是我最初想要的避免。
【问题讨论】:
-
我还以为结构声明会在头文件中?
-
您基本上是在问“如何确保我的代码在加载错误的 DLL 版本时最快地崩溃?”按值最好,它会使堆栈指针不平衡。