添加可导出结构的数据成员(最后)会导致问题吗?

时间:2009-05-20 08:00:34

标签: c++ api struct export

可导出函数有一个struct作为参数之一。许多Exes

使用此DLL

其中一个EXE需要发送一些额外的数据,所以我们在结构的末尾添加了一个成员并分发了DLL。

现在我的问题是,如果我们将新的DLL放在其他不知道额外成员的EXE中,会导致问题吗?

DLL不应该尝试访问结构数据成员,这在EXE中不存在。我该如何处理这种情况?

注意:DLL中不允许添加新API。

1 个答案:

答案 0 :(得分:1)

如果其他函数接受struct的值,即不是通过指向它,那么是的,很可能会出现问题。您的调用代码将在堆栈上放置一个比接收函数更大的struct,导致净堆栈增长和一般不良。