информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Немного другой вопрос про DLL. 12.03.05 19:16  Число просмотров: 1674
Автор: void <Grebnev Valery> Статус: Elderman
Отредактировано 12.03.05 20:02  Количество правок: 1
<"чистая" ссылка>
С какой целью линкеру иногда указывают изменить базовый адрес загрузки DLL со значения по умолчанию 0x10000000 на, например, 0x1c000000?

Ред. Почему именно 0x1c000000? EXE может подключать явно несколько десятков DLL. Даже уже второй модуль не сможет быть спроецирован по этому базовому адресу.

Логичнее было б для каждого модулю назначасть свой base address. Но ведь всё равно не угадаешь.... Это так, поскольку, в большом и динамичном проекте постоянно будут появляться новый функционал. И ты даже не знаешь, сколько будет DLL грузиться и в какой последовательности (эти DLL вообще будут писать другие тимы девелоперов возможно).

Короче, не понятно, блин.
<programming>
[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 вообще будут писать другие тимы девелоперов возможно).

Короче, не понятно, блин.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach