Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Простой вопрос про DLL 11.03.05 07:56
Автор: void <Grebnev Valery> Статус: Elderman Отредактировано 11.03.05 08:05 Количество правок: 1
|
Подскажите, пожалуйста, для чего в .DEF файле в разделе EXPORTS умные люди в некоторых случаях используют ключевое слово PRIVATE при определении экспортируемых символов. Читаем MSDN...
"... The optional keyword PRIVATE prevents entryname from being placed in the import library generated by LINK. It has no effect on the export in the image also generated by LINK. ..."
Никаких других разъяснений и ссылок на бест практис не нашёл больше. Такое ощущение, что делают для того, чтобы "подстраховаться" на случай неявного связывания, для того, чтобы избежать конфликтов имён, учитывая что программер может неявно связывать сразу несколько "однотипных" DLL, где в .LIB каждой DLL определены такие же символы...
Где всёж собака порылась.
Спасибо.
|
|
Да, так и есть. Разобрался. 12.03.05 18:28
Автор: void <Grebnev Valery> Статус: Elderman
|
|
| |
Немного другой вопрос про DLL. 12.03.05 19:16
Автор: void <Grebnev Valery> Статус: Elderman Отредактировано 12.03.05 20:02 Количество правок: 1
|
С какой целью линкеру иногда указывают изменить базовый адрес загрузки DLL со значения по умолчанию 0x10000000 на, например, 0x1c000000?
Ред. Почему именно 0x1c000000? EXE может подключать явно несколько десятков DLL. Даже уже второй модуль не сможет быть спроецирован по этому базовому адресу.
Логичнее было б для каждого модулю назначасть свой base address. Но ведь всё равно не угадаешь.... Это так, поскольку, в большом и динамичном проекте постоянно будут появляться новый функционал. И ты даже не знаешь, сколько будет DLL грузиться и в какой последовательности (эти DLL вообще будут писать другие тимы девелоперов возможно).
Короче, не понятно, блин.
|
|
|