Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

совместимость менеджеров памяти   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
1-1084347212
rams
2004-05-12 11:33
2004.05.30
ProcessMessages... и другие


1-1084893531
Sonic_gd
2004-05-18 19:18
2004.05.30
Сворачивание в трей


1-1084739094
Liona
2004-05-17 00:24
2004.05.30
Как очистить StringGrid?


3-1084017148
V l a d i m i r
2004-05-08 15:52
2004.05.30
Как связать две таблицы?


3-1084277298
lovres
2004-05-11 16:08
2004.05.30
Касяк с DBCombobox. Подскажите, плз.