Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
6-1081350040
csr
2004-04-07 19:00
2004.05.30
TidIOHandlerSocket - вопрос


8-1080052987
Pa5ha
2004-03-23 17:43
2004.05.30
Сохранение изображения на холсте в Direct3D


1-1084700689
killer
2004-05-16 13:44
2004.05.30
Форма


1-1084879995
MegaVolt
2004-05-18 15:33
2004.05.30
Как оформить информацию получаемую из файлов с разными форматами?


6-1081753570
Darkman
2004-04-12 11:06
2004.05.30
Как создать VPN соединение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский