疑惑,很是疑惑的一個問題。
下午我遇到這么一個問題,我在程序里靜態加載一個dll,這個dll是我自己寫的。我把dll在release環境下編譯,簡稱為A吧,另一個程序是在debug環境下進行編譯的,簡稱為B吧。B會調用A,但是在調用中就出錯了。
A 中調用B的代碼如下:
std::vector<ITEMDATA> vcData;
GetValue(vcData);
B 中的代碼為
void GetValue(std::vector<ITEMDATA> &vcData)

{
……
ITEMDATA item;
……
vcData.push_back(item);
……
}但是程序每走完GetValue后就拋異常了。
但是如果兩個環境都為debug,或都為release的話,都正常,但是如果不同的話,就會出錯。
比較郁悶了。


