2
在VC中,我有一個內存對齊設置爲1的DLL文件,並將EXE文件內存對齊設置爲默認值(它是4)。我在EXE中使用這個DLL的類。不同的內存對齊集有沒有潛在的風險? 非常感謝!如果EXE和DLL有不同的內存對齊會怎麼樣?
在VC中,我有一個內存對齊設置爲1的DLL文件,並將EXE文件內存對齊設置爲默認值(它是4)。我在EXE中使用這個DLL的類。不同的內存對齊集有沒有潛在的風險? 非常感謝!如果EXE和DLL有不同的內存對齊會怎麼樣?
我認爲「內存對齊」是指「結構打包」(/ Zp)。是的,如果您的結構需要填充以達到指定的對齊方式,則會出現問題,因爲這兩個模塊的填充方式不同。
是的,這就是我的意思。填充用於該DLL的類的方法中,並將在EXE中調用。它將使用哪種對齊方式?謝謝。 – maverix3
每個模塊將使用它編譯的包裝。如果共享一個班級或結構,並且雙方做出不同的填充決定,則會發生不好的事情。不知道這是什麼部分不明顯。 –
非常感謝您的回答。它有助於。 :d – maverix3