可导出函数有一个struct作为参数之一。许多Exes
使用此DLL其中一个EXE需要发送一些额外的数据,所以我们在结构的末尾添加了一个成员并分发了DLL。
现在我的问题是,如果我们将新的DLL放在其他不知道额外成员的EXE中,会导致问题吗?
DLL不应该尝试访问结构数据成员,这在EXE中不存在。我该如何处理这种情况?
注意:DLL中不允许添加新API。
答案 0 :(得分:1)
如果其他函数接受struct
的值,即不是通过指向它,那么是的,很可能会出现问题。您的调用代码将在堆栈上放置一个比接收函数更大的struct
,导致净堆栈增长和一般不良。