2009-05-20 36 views
0

可導出函數具有一個結構作爲參數之一。這個DLL被許多Exes使用添加可導出結構的數據成員(最後)會導致問題嗎?

其中一個EXE需要發送一些額外的數據,所以我們在結構的末尾添加了一個成員並分發了DLL。

現在我的問題是,如果我們把新的DLL放在其他沒有意識到額外成員的EXE中,會導致問題嗎?

該DLL不應該嘗試訪問EXE中不存在的結構數據成員。我如何處理這種情況?

注意:在DLL中不允許添加新的API。

回答

1

如果其他函數按值接受struct,即不是通過指向它的指針,那麼很可能會有問題。您的呼叫代碼會在接收函數中刪除較大的struct,導致網絡堆棧增長和一般不良情況。

相關問題