У меня есть следующий код, который отлично работает в моей среде разработки, но когда код перемещается на рабочий сервер, он дает оракул «Ошибка согласования кучи». Не могли бы вы дать мне знать, как отладить это и повод для этого?Ошибка согласования кучи в C/Pro * C
if (TagValue[TagTable[TagLoc].Ptr2ValueTable].repetitionOutValue.length==-1)
{
TagValue[TagTable[TagLoc].Ptr2ValueTable].repetitionOutValue.value
= (char*) malloc (*CurLen+1) ;
}
else
{
more_val2 = (char*) realloc (TagValue[TagTable[TagLoc].Ptr2ValueTable].repetitionOutValue.value
, (strlen(TagValue[TagTable[TagLoc].Ptr2ValueTable].repetitionOutValue.value)+(*CurLen)) * sizeof(char));
if (more_val2!=NULL)
{
TagValue[TagTable[TagLoc].Ptr2ValueTable].repetitionOutValue.value=more_val2;
}
}
Показать код! – Nick
спасибо за ответ.код добавлен. Обратите внимание, что каждая переменная инициализирована – QMG
Прошу прощения, но я понятия не имею, что ваш код пытается сделать ... – Nick