|
|
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Ну, собственно, всю проблему в заголовке написал! Есть Борландовая ДЛЛ-ка - надо ее статически прилинковать в проект VC6. Пробовал через билдеровскую impdef сделать DEF, а из него уже мокрософтовской LIB /DEF:filename.def - получить LIB. Все бы хорошо - даже линкуется, а вот в момент вызова функции вываливается. Есть мысль, что из-за различной структуры COFF и OMF библиотек. Исходные данные: DLL (Builder6) + *.h к ней. Задача: использовать эту библиотеку (без перекомпиляции самой dll) в проекте VisualC++ (6), подключая ее статически. Подскажите, плз!, как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 23:06 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
ээээ... во первых, COFF-OMF это различие на уровне объектников и библиотек. Dll собранные из разных библиотек не различаются, вернее не должны различаться :) На практике разница есть потому что разные линкеры работают по разному. Чтобы подключить статически dll надо дать на вход линкеру специальную библиотеку. Которая будет состоять из заглушек для всех импортируемых из dll функций. Такая библиотека делается утилитой implib.exe. А не impdef! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 23:55 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
implib-овские lib-ы компилятор VisualC++ не ест вообще. Может и есть возможность средствами MS сделать корректный lib из любой библиотеки, но если б я нашел - не спрашивал бы. А вот различия OMF и COFF сводятся к работе с памятью, в связи с чем при динамической линковке - получил конкретный адрес функции и все ОК, а статически - смещения не бьют. А OMF оказывается еще и разные бывают - Intel и Borland. Есть у Borland-а утилита coff2omf.exe - так вот мне бы как раз обратно надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 07:22 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Гмм как и в ветке про DLL в Linux-е что-то не так с формулировками в вопросах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 08:56 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MustDieimplib-овские lib-ы компилятор VisualC++ не ест вообще. implib разный бывает. Бывает от Борланда, бывает от Микрософта.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 17:48 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MustDie Есть Борландовая ДЛЛ-ка - надо ее статически прилинковать в проект VC6. Пробовал через билдеровскую impdef сделать DEF, а из него уже мокрософтовской LIB /DEF:filename.def - получить LIB. Все бы хорошо - даже линкуется, а вот в момент вызова функции вываливается. Есть мысль, что из-за различной структуры COFF и OMF библиотек. Нет. Библиотеки уже отработали и .dll и .exe уже собраны. Значит не в этом дело. Дело видимо в разных соглашениях о вызовах, используемых в борланде и у MS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 20:41 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MasterZivДело видимо в разных соглашениях о вызовах, используемых в борланде и у MS. Разные соглашения о вызовах DLL??? Что ты курил? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 21:41 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
White Owl MasterZivДело видимо в разных соглашениях о вызовах, используемых в борланде и у MS. Разные соглашения о вызовах DLL??? Что ты курил? :) он прав , только не DLL а функций ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 08:42 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
JibSkeart White Owl MasterZivДело видимо в разных соглашениях о вызовах, используемых в борланде и у MS. Разные соглашения о вызовах DLL??? Что ты курил? :) он прав , только не DLL а функций ... А что ты курил? Я тоже хочу такую траву :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 19:17 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Где-то на rsdn.ru это было хорошо описано .... http://www.rsdn.ru/article/devtools/bcbdll.xml вот кажется здесь ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 23:41 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MasterZivГде-то на rsdn.ru это было хорошо описано .... http://www.rsdn.ru/article/devtools/bcbdll.xml вот кажется здесь ... ХА! Так ты не путай директивы компилятору которые управляют naming convention и вызов функций из dll. Разные принципы именования процедур, классов и методов это всегда существовавшее различие между компиляторами. И оно обычно никуда далее объектников и библиотек не идет. А приниципы именования и вызова функций из dll это часть операционной системы. Любой компилятор может следовать этим правилам именования. При помощи разных ключевых слов, хоть часто и похожих - о чем в данной статье и написано. В любом случае, dll подготовленная при помощи одного транслятора, может статически линковаться в программу подготовленную другим транслятором. Иногда прийдется повозится, но можно. Разница будет как раз на уровне директив компилятора и соотвественно библиотек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 02:09 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
авторХА! Так ты не путай директивы компилятору которые управляют naming convention и вызов функций из dll. Разные принципы именования процедур Дело не столько в принципах наименования функций aka декорировании, сколько в способе размещения параметров в стеке и регистрах, а также в том кто чистит стек вызывающий или вызываемый. Я конечно понимаю, .NET !!! Значит калоши не нужны (с) но стыдно не знать этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 08:59 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Что касается классов, тут все еще печальнее. Попробуйте экспортировать множественно наследованный класс C++ в DLL из Delphi. Вряд-ли у Вас получиться что-нибудь вменяемое :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 09:04 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
White Owl JibSkeart White Owl MasterZivДело видимо в разных соглашениях о вызовах, используемых в борланде и у MS. Разные соглашения о вызовах DLL??? Что ты курил? :) он прав , только не DLL а функций ... А что ты курил? Я тоже хочу такую траву :) ты что у Си и у паскаля разные соглашения о вызовах процедур. а травку пока еще не курил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 10:02 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
тфу , не паскаль, а у борланцких кампиляторов. ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 10:03 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Вот кстати одно из тех, за что я не люблю борландов - всегда все по-своему сделают. Это у них уже традиция. Как ширина железнодорожного полотна в России -- зачем - не понятно, но чтобы не как у всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 19:09 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MasterZivВот кстати одно из тех, за что я не люблю борландов - всегда все по-своему сделают. Это у них уже традиция. Как ширина железнодорожного полотна в России -- зачем - не понятно, но чтобы не как у всех. Почему? OMF это ж не Борландовская разработка. А вовсе даже Intel'евская. Причем Микрософт тоже когда-то OMF поддерживали, а потом отказались от нее в пользу COFF. Когда делали Windows NT изобрели новый формат для исполнимых файлов (PE). Основалие его на ДЭКовском COFF, ну и для упрощения линковки сменили формат и для объектников и библиотек в своих компиляторах. Так что в данном случае Борланды как раз не виноваты. Это Микрософты как всегда выпендрились :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 19:34 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Я про СОГЛАШЕНИЯХ НА ВЫЗОВЫ, а не про библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 15:20 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
А соглашения на вызовы из dll всегда одинаковы между всеми компиляторами. Потому что dll это сущность операционной системы а не транслятора. Хотя конечно можно сделать такую уникальную dll которая не будет читаться никем кроме автора :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 19:36 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Почему некоторым людям так нравится выставлять себя на посмешище ? Не знаешь - ПРОВЕРЬ, не можешь проверить не венькай и верь тем кто ЗНАЕТ. Для DLL соглашения о вызовах ИМЕЮТ ЗНАЧЕНИЕ. Разумеется зная интерфейс можно использовать любую DLL, но при этом необходимо знать используемые ей соглашения о вызовах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 08:49 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
White Owlimplib разный бывает. Бывает от Борланда, бывает от Микрософта.... Первый раз слышу. Есть lib.exe, но как ему впихнуть Борландовскую dll? Вот к чему я пришел. Разница между стандартами библиотек в работе со стеком (где-то вычитал). При динамической компоновке, функция GetProcedureAdress возвращает реальный адрес нужной функции, а при статическом подключении, насколько я понимаю, используется смещение на каждую функцию. Вот тут и загвоздка - COFF по своему заполняет память, а OMF - по-своему. У Борланда есть утилита coff2omf.exe, так вот мне надо как раз наоборот! При этом "implib.exe -a" не прокатывает... Неужели никто не знает как это сделать? У меня в библиотеке более 1200 функций - я свихнусь их динамически подключать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 13:36 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
заюзай impdef.exe получишь файл с расширением def если в этом файле в разделе EXPORTS _myfuncn@Х = _myfuncn @1 то надо переделать так EXPORTS myfuncn = _myfuncn@Х вот так а дальше тузлой implib Mydll.lib mydll.def насколько я помню . ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 22:32 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Вот это уже больше похоже на дельный совет! Однако, вот что выдает мне impdef: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Если impdef использовать с опцией -а, то получается вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Отсюда вопрос - что как править и как использовать impdef (c -a или без)? И откуда такая разница в описании функций в def-файле - то с собаками, то без, а то еще и с "баксами" - чтобы все это значило? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 14:06 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
http://www.rxlib.ru/faqs/faqc_en/16809.html А если как тут сказанно . ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 15:35 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Попробовал. Не катит. Кроме того, все что там описано можно получить просто используя impdef с опцией -а. При этом в Билдере есть еще и утилита для преобразования lib-ов из COFF в OMF. Поэтому проблем-то никаких при использовании MSVC-библиотеки в Builder, надо-то как раз НАОБОРОТ! Если бы все так просто было - там черточку убрал, сюда поставил, то уж написал бы кто-то парсер для DEF-файлов, однако я ничего не нашел в Интернете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 18:28 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Насчет implib.exe от Микрософта.... есть такая программа, вернее была в Miscrosoft C. В Visual C ее уже нету. И делала она точно такие-же OMF библиотеки как Борландовская утилита, потому что тогда Микрософт не использовал COFF формат :) В Visual C зато есть утилита lib.exe, которая сама умеет делать библиотеки для импорта. Любыми средствами (хоть вручную хоть через борландовский imdef) делаешь def файл для своей dll. Потом lib /def:myimport.def , и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 20:59 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MustDieВот к чему я пришел. Разница между стандартами библиотек в работе со стеком (где-то вычитал). Не верно. В одной и тоже библиотеке (и библиотеке объектников и в DLL) ты можешь иметь функции работающие со стеком как угодно. MustDieНеужели никто не знает как это сделать? У меня в библиотеке более 1200 функций - я свихнусь их динамически подключать! а сделать массив имен и массив адресов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 22:07 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
White OwlВ Visual C зато есть утилита lib.exe, которая сама умеет делать библиотеки для импорта. Любыми средствами (хоть вручную хоть через борландовский imdef) делаешь def файл для своей dll. Потом lib /def:myimport.def , и все. Я с этого начал (см. начало темы). Lib нормально собирается и безошибочно прилинковывается, однако, при вызове функций (причем после их отработки) вылетает сообщение: Чтобы это значило? При динамическом подключении все ОК. Изменения директив вызова функций в родном h-нике, либо устранение/добавление extern "C" приводят либо к ошибке на этапе компиляции, либо к ошибке в доступе к памяти в момент обращения к функции. Тогда как в первом случае функции хотя бы успевают отработать. White Owlа сделать массив имен и массив адресов?Что-то вроде этого и пришлось на данный момент наваять, но ведь обидно, что не удается разобраться! Причем заковырка-то, скорее всего, плевая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 23:16 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MustDieЧтобы это значило? А вот это как раз и есть разная работа со стеком. В dll функция сама чистит стек а потом еще и вызывающая программа чистит стек или наоборот ни тот ни другой стек не чистят. Смотри как сделаны вызовы в dll и как в программе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2005, 01:14 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MustDieПопробовал. Не катит. Кроме того, все что там описано можно получить просто используя impdef с опцией -а. При этом в Билдере есть еще и утилита для преобразования lib-ов из COFF в OMF. Поэтому проблем-то никаких при использовании MSVC-библиотеки в Builder, надо-то как раз НАОБОРОТ! Если бы все так просто было - там черточку убрал, сюда поставил, то уж написал бы кто-то парсер для DEF-файлов, однако я ничего не нашел в Интернете. Если наоборот , то у меня дома в какойто книжке это было написанно как сделать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2005, 08:44 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Для MustDie: На поразвлекайся. Там исходные тексты и батник собирающий: 1) BC dll с двумя процедурами (cdecl и stdcall) и тестовый пример использования этой dll через сам BC. 2) VC1_test - библиотека импорта делается через "lib /def". Идеально работает с cdecl функциями, но падает на stdcall 3) VC2_test - VC делает промежуточную пустотелую dll, на ее основе линкер создает библиотеку импорта. Промежуточная dll убивается, а библиотека импорта идет в проект. Работает одновременно и с cdecl и с stdcall функциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2005, 18:08 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
White Owl MustDieНеужели никто не знает как это сделать? У меня в библиотеке более 1200 функций - я свихнусь их динамически подключать! а сделать массив имен и массив адресов? Да вот, действительно. Вот например из MFC ODBC API грузиться динамически (по крайней мере в какой-то версии так было , может сейчас они отказались от этого). И ничего, написали себе кучу макросов, и -- вперед с песнями, все API. Сколько там функций ? Порядка нескольких сотен, кажется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2005, 20:27 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Прощу прощения за длительное отсутствие, но, думаю, следует эту тему продолжить, ибо конкретного решения до сих пор нет, а ситуация, судя по цитируемости в Инете, весьма распространенная. Во-первых, всем большое спасибо за участие в дискуссии. Во-вторых - результаты моих мучений. Спасибо White Owl за наглядный пример. Реально он не помог, но его исследование привело к некоторым умозаключениям. Дело в том, что есть набор библиотек, которые обновляются практически каждый день. Есть ряд разработок на различных языках, использующих эти библиотеки, в том числе и на VC (с чем и проблема). Кроме того, эти библиотеки поставляются еще и сторонним разработчикам. Соотвествено, писать промежуточные библиотеки для создания lib-ов для VC, как в примере White Owl , равно как и плодить дубликаты этих библиотек для каждой среды разработки - не есть приемлимый вариант. Утилита, скачаная по ссылке от ii , кроме того, что отказывается воспринимать DLL со смешанными вызовами функций _cdecl и _stdcall (и в help-e ничего путного про это не написано), также еще и не является программой "open source", что не приветствуется моей компанией. Итак, чтобы статически прилинковать библиотеку формата OMF в проект VC, требуется выполнить ряд шагов (самый простой пока вариант): 1) сделать def. для этого, используя borland-овский impdef, генерируем def-файл с перечнем функций библиотеки, далее правим его следующим образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. lib /def:<defname>.def 3) подключить lib: #pragma comment (lib, "<libname>.lib") 4) использовать функции с описанием их как __cdecl или __stdcall соответственно. Однако, при таком раскладе не удается автоматизировать процесс создания lib из существующей dll, что в моей ситуации необходимо. Парсер для создания def-файла, даже имея все h-файлы с описаниями функций библиотек, представляется мне весьма сложным в отношении _stdcall -функций, ибо возможность подсчитать байты параметров функций себе плохо представляю, учитывая наличие множества пользовательских типов данных. Соответсвенно, вопрос остается открытым. Алгоритм, описанный выше, является плодом моих исследований в данной области, соответсвенно использовать его как руководство я бы не рекомендовал, не смотря на то, что у меня он работает безошибочно. Жду ваших рекомендаций и замечаний по этому вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 00:06 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
А у вас действительно есть dll c cdecl и stdlib вызовами? Обычно все же либо одно, либо другое. И чаще всего cdecl. Во вторых, если хочется делать такую библиотеку импорта регулярно... я бы взял perl, и на нем накатал бы небольшой скрипт который на основе SomeLib.h генироровал бы SomeLib.c. Собственно говоря там писать всего ничего. Что-то в духе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Впрочем, есть еще вариант - написать свой собственный implib.exe который будет делать COFF библиотеки :) Да и загрузку dll в рантайме, никто еще не запрещал. Так что, если честно я не очень понимаю в чем затык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 01:38 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
А нафига нужно грузить все эти DLL именно статически ??? Грузи динамически, для этого lib-ы не нужны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 09:59 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)А нафига нужно грузить все эти DLL именно статически ??? Грузи динамически, для этого lib-ы не нужны Выше я описал проблему и то, почему надо именно статически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 21:46 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Господа, еще один вопрос в ту же тему. В def-файле для каждой функции прописывается ее номер: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 22:17 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
MustDie Gluk (Kazan)А нафига нужно грузить все эти DLL именно статически ??? Грузи динамически, для этого lib-ы не нужны Выше я описал проблему и то, почему надо именно статически. Не убедил Ничего кроме чиста спортивного интэрэса ВЫШЕ я не обнаружил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2005, 10:10 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Я никого и не старался тут в чем-то убеждать. Просто по жизни люблю халяву и просто плохо сплю, когда мне дают библиотеки, дают готовые h-ники, а я должен для каждой функции писать динамический вызов.... Вопрос-то практически уже решен. Как только lib.exe заставить собирать lib-ы из def-ов без нумерации функций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 20:07 |
|
||
|
Сделать lib (COFF) из dll (OMF)
|
|||
|---|---|---|---|
|
#18+
Ну не пиши ты эти номера функций в def и все. Нашел проблему... К тому же я тебе уже показывал как можно на основе *.h получить *.c в автоматическом режиме и делать библиотеку экспорта через временную dll. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 21:38 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2032571]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 385ms |

| 0 / 0 |
