|
|
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
Visual C++ 6.0 СОЗДАЛ СВОЮ RegularDll.DLL and RegularDll.LIB При вызове функции m_dSum = MySum(m_dInput,m_dOutput); из неё выводится сообщение Приложению не удалось запуститься, поскольку RegularDll.dll не был найден. Повторная установка приложения может исправить эту проблему Помещал их в каталог windows\system32 менял строки в меню Project\Settings окружения Visual C++ 6.0 Апробированы следующие варианты: в двойных кавычках: 1 - "C:\pavorotty\RegularDll\Debug\RegularDll.lib" 2 - C:\pavorotty\RegularDll\Debug\RegularDll.lib 3 - C:\1_spilnyck_gas_020605\SeveralViews_MDI_2\RegularDll_my\RegularDll.lib 4 - RegularDll\RegularDll.lib 5 - windows\system32 ГДЕ НАДО РАЗМЕЩАТЬ DLL and LIB ? ЧТОБЫ ПУТЬ НЕ УКАЗЫВАТЬ в меню Project\Settings КАКИЕ СИСТЕМНІЕ КАТАЛОГИ ВОСПРИНИМАЮТСЯ ПО УМОЛЧАНИЮ? PS: ПРИ ОТЛАДКЕ БЫЛО ВСЁ ОК! СООБЩЕНИЕ ПОЯВИЛОСЬ ПОСЛЕ ТОГО,КАК ПРИЛОЖЕНИЕ ЗАПУСТИЛ НА ДРУГОМ КОМПЬЮТЕРЕ. СПАСИБО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:10 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
По стандарту ищется в текущей, потом откуда запустили программу,потом в системной директории Windows, потом в путях переменной PATH. lib нужна только компоновщику (link) на время его работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:23 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
В каталог, откуда запускаешь приложение, клади - не ошибешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:59 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
В каталог, откуда запускаешь приложение, клади - не ошибешься автор ЭТО ДЕЙСТВИТЕЛЬНО ТАК, ПЕРЕД ЭТИМ ПОМЕСТИЛ В debug - было ОК ! СПАСИБО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 13:24 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
А двойном слешом в пути попробовал? Когда-то у меня бьiла такая проблема, так и решил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2005, 12:21 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
1) LIB Либ это библиотека некоего кода. Библиотеку Вы и сами могёте сделать. Для этого превращаем исходный код в бинарный (процесс называеться компиляция). Сама програмулина называеться компилятором, он же транслятор, он же манька облигация...тьху.. (про маньку - то шутка). Задача компилятора - прочитать "человеческий" формализованный язык, из текстового файла и превратить его в модуль, формат которого привязан только к процессору (для которого компилировали). Имееться ввиду на выходе получаеться бинарный код, НО в нём нет ЯВНЫХ адрессов. Ну например... На месте команды "дальний переход по адрессу" стоит дальний переход нул-нул-нул-нул. А в заголовке такого файла написано, что дескать требуеться нечто под именем Вася и адресс этого Васи вставить туда то... Физически эти файлы имеют расширение (обычно, под досом и виндами) OBJ, что обзываеться как обьектный. Дык вот... Из данных обьектников можно состряпать библиотеку, физически носящую расширение LIB. Как правило для этого служит одноимённая программулина, запускающаяся из командной строки (ну типа LIB.EXE). Задача последней - создать/добавить/извлечь определённый обьектник в/из библиотеки. Далее в программе говорите, дескать вот этот класс или подпрограммка или данные - есть внешнии. И на стадии линкования своей программы, указываете необходимую библиотеку с расширением LIB. Линковщик лезет в Вашу ЛИБ находит то что ищет, вытаскивает данный кусок и вставляет в Ваш исполняемый (бум считать что выход - экзешник) файл. Далее "либа" не нужна. Нужно так же отметить, что существуют нюансы вызова подпрограмм. Основной из них - это очистка стэка. Т.к. данные передаються через стэк, то очистка стэка может происходить как ВЫЗЫВАЕМЫМ кодом, так и ВЫЗВАВШИМ. 2) DLL Ну тут ышо просче. От слова Динамически Загружаемая Библиотека. Т.е. до момента загрузки в память этой библиотеки её код НЕ содержиться в исполняемом файле. Или наоборот. Необходимо обеспечить загрузку (пути по которым операционка ищет по умолчанию - указаны выше) данной библиотеки при запуске Вашего приложения. Необходимо отметить не редко встречаемый нюанс. Именна библиотек отличаються при различных сборках. Например дебажная от релизной отличаеться присутствием на конце имени библиотеки буковки "D". Ну это и понятно. ДэЛеЛе дебажная, несёт в себе вспомогательную информацию и как правило бинарный код не оптимизирован (по умолчанию - по скорости). с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 12:12 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
И ещё... Надо помнить следующее.. Что Вы должны обеспечить: 1) Нахождение динамически загружаемой библиотеки. 2) Обеспечить подгрузку ВСЕХ ДРУГИХ динамически загружаемых библиотек, НА КОТОРЫЕ ссылаеться Ваша. Узнать перечень ВСЕХ требуемых динамических библиотек можно следующей утилиткой... Depends она обычно поставляеться в общих тулзах при компиляторе. Натравливаешь её на файл библиотеки в интересуемом каталоге и узнаёшь чаво не хватат. с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 12:28 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
Depends - это здорово. Попробуйте также PEBundle - по моему, очень хорошая штука, хорошо дополняет Depends. Судите сами: "PEBundle allows for an executable's (or DLL's) dependencies to be physically or remotely bound to itself so that they need not be distributed or installed separately from the application. Using a high performance compression algorithm, PEBundle compresses all bound modules so that the host executable's size grows as little as possible given the bound data." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 13:26 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
kolobok0Сама програмулина называеться компилятором, он же транслятор, он же манька облигация...тьху.. (про маньку - то шутка). Компилятор и транслятор это разные вещи. Так шуток тут на самом деле две. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 17:47 |
|
||
|
DLL and LIB
|
|||
|---|---|---|---|
|
#18+
White OwlКомпилятор и транслятор это разные вещи. Так шуток тут на самом деле две. Если так подходить - тут побольше шуток будет... ик.. но думаю, для начала инфы достаточно. с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 18:42 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33160212&tid=2033047]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
91ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 429ms |

| 0 / 0 |
