MFC программа использует отладочные версии библиотеки с именами MFCvvD.LIB (обычные MFCvv.LIB). В отладочных версиях этих библиотек работа МНОГИХ функций отличается от релиз-версий, причем эти различия доходят иногда до того, что возвращаются разного типа переменные, генерируются другие исключения и ошибки...
Хотелось бы узнать пример таких функций.
Спасибо.
Здравствуйте, ASK-Victor, Вы писали:
AV>MFC программа использует отладочные версии библиотеки с именами MFCvvD.LIB (обычные MFCvv.LIB). В отладочных версиях этих библиотек работа МНОГИХ функций отличается от релиз-версий
Безусловно, на то и Debug
>, причем эти различия доходят иногда до того, что возвращаются разного типа переменные
Если совместимого типа — ничего особенного. Если несовместимого — как им это удалось ?

Пример, пожалуйста.
>, генерируются другие исключения и ошибки...
Тоже правильно, на то и Debug
AV>Хотелось бы узнать пример таких функций.
Зачем ?
Здравствуйте, ASK-Victor, Вы писали:
AV>>>Хотелось бы узнать пример таких функций.
PD>>Зачем ?
AV>Начальство требует((
Посылаем начальство в "E:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\src\" или идем туда сами
Ищем там TRACE. Там их как собак нерезанных.
Берем первое попавшееся. Например (dlgcore.cpp)
void CDialog::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(traceAppMsg, 0, "UpdateData failed during dialog termination.\n");
// the UpdateData routine will set focus to correct item
return;
}
EndDialog(IDOK);
}
после чего объясняем начальству, что в Debug версии, если что-то будет не так в UpdateData, то в окно окно Output будет выведено указанное сообщение, а в Release ничего такого не будет. Начальство глубокомысленно смотрит на этот код как баран на новые ворота и перестает давать глупые задания.
P.S. Реальное поведение начальства можеот отличаться от прогнозируемого мной. В любом случае я за последствия не отвечаю.