Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Внизсовместимость менеджеров памяти Найти похожие ветки
← →
Desdechado © (2004-05-11 12:55) [0]При написании UDF активно использую msvcrt.dll
А недавно где-то наткнулся на инфу, что менеджеры памяти VC6 и VC7 несовместимы между собой. В системе стоит msvcrt.dll 7.0.2600, а FB скомпилирован, насколько мне известно, с использованием версии 6.
Будет ли оно жить дружно или возможны грабли с утечкой памяти и даже падежом сервера?
В FB1.5 CS подкладывается msvcrt шестой версии, а в 1.0х не подкладывается. Нужно ли самому что-то мудрить?
И с UDF что-то делать надо?
← →
Desdechado © (2004-05-12 11:07) [1]up
← →
Digitman © (2004-05-12 11:23) [2]
> с UDF что-то делать надо?
если ты в UDF пользуешь менеджер памяти по соглашению с FB для возврата результатов ф-ций в аллокированных тобой блоках, то для этих задач следует пользовать ф-цию ib_util_malloc() в составе библ-ки ib_util.dll, всегда фигурирующей в штатной поставке дистрибутива сервера
ib_util.dll сама знает, какую "правильную" сишную библ-ку следует использовать для аллокации блоков памяти, ib_util.dll компилируется и собирается разработчиками в той же среде, что и прочие функц.модули серверной части
настоятельная рекомендация разработчиков использовать ib_util.ib_util_malloc() вместо msvcrt.malloc() или msvcrXX.malloc() связана как с потенциальным переходом на MSVC7 (как среды разработки FB), так и с потенциальной кроссплатформенностью серверного продукта
← →
Desdechado © (2004-05-12 11:30) [3]Но FB1.0x скомпилирован на VC6, а рядом с ним нет msvcrt.dll от шестерки. А в SYSTEM32 только от семерки. Что в этих условиях вызывает ib_util да и сам сервер?
← →
Digitman © (2004-05-12 11:31) [4]на сей момент в использовании ib_util.dll для означенных целей нет никаких проблем, но есть и один недостаток - отсутствие ф-ций реаллокации/деаллокации блоков ... это может серьезно повлиять на возможность адаптации сущ-щих UDF, использовавших до сего момента ф-ции msvcrt.realloc()/free()
По мнению Димы Еманова, недостатком это считать не следует, ибо это продиктовано, якобы, соображениями совместимости с предыд.версиями сервера (в т.ч. IB-сервера), но принципиальных возражений против экспорта библ-кой ib_util.dll в некоем будущем упомянытых ф-ций он как бы не имеет
← →
Digitman © (2004-05-12 11:44) [5]
> FB1.0x скомпилирован на VC6
а зачем тебе FB1.0x ? вчерашний же день уже эта версия ...
FB1.5 RC9 - вполне стабильный сервер
> Что в этих условиях вызывает ib_util да и сам сервер?
поскольку в каталоге \bin нет msvcrt.dll, ib_util и сам сервер будут грузить имеющуюся в system32 версию сишной ран-тайм библ-ки
7-я же версия сишной ран-тайм библ-ки даже называется по иному - msvcr70.dll
← →
Desdechado © (2004-05-12 16:49) [6]у меня на XP в system32\msvcrt.dll имеет в сигнатуре версию 7.0.2600.1106 - это все-таки от VC6 или от VC7 библиотека?
msvcrt7.dll или msvcrt70.dll отсутствуют напрочь
← →
Desdechado © (2004-05-12 17:02) [7]Сервер FB1.5 по некоторым соображениям не всех заказчиков устраивает. Приходится и FB1.03 поддерживать.
← →
Digitman © (2004-05-12 17:22) [8]
> Сервер FB1.5 по некоторым соображениям не всех заказчиков
> устраивает
можно ли полюбопытствовать, по каким конкретно ?
> msvcrt7.dll или msvcrt70.dll отсутствуют напрочь
7-ка в версионных св-вах этого модуля вряд ли означает принадлежность оного к среде MSVC7 ... насколько мне известно, 7-шная среда MSVC требует к использованию разработанных в ней приложений ран-тайм-модуля msvcr70.dll... могу, конечно, ошибаться, но суть в том, что msvcrt.dll не м.б. использован с приложениями, написанными в 7-шной среде, ибо даже состав эксп.ф-ций в ней отличается от предыдущих версий ... так что ориентироваться на версию продукта в св-вах файла не стоит
← →
Desdechado © (2004-05-12 18:00) [9]Заказчики - народ странный. А клиент всегда прав. Ну хотят они, например, обратную совместимость БД с IB6 или у них на том же сервере крутятся другие задачи, жестко завязанные на версию сервера... Всего не знаю.
Спасибо за исчерпывающие ответы.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.031 c