информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медSpanning Tree Protocol: недокументированное применениеЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Очень глупый вопрос про DLL ! 14.09.02 15:16  
Автор: Xemax Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вот содержание обычного файла def:

LIBRARY "DLL"
DESCRIPTION 'DLL Windows Dynamic Link Library'

EXPORTS
ActivateKeyboardLayout @1
AdjustWindowRect @2
AdjustWindowRectEx @3
AlignRects @4
AllowForegroundActivation @5

А теперь вопрос зачем нужны @1, @2, @3 и т. д. . Что они делают? И как изменяется DLL если их нет? В конце концов можно просто написать:

LIBRARY "DLL"
DESCRIPTION 'DLL Windows Dynamic Link Library'

EXPORTS
ActivateKeyboardLayout
AdjustWindowRect
AdjustWindowRectEx
AlignRects
AllowForegroundActivation
[C++] Очень глупый вопрос про DLL ! 16.09.02 15:39  
Автор: Xemax Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Откуда по умолчанию начинается номерация экспортируймых функций в DLL. С цифры 0 или 1 ?
[C++] Очень глупый вопрос про DLL ! 16.09.02 08:46  
Автор: IgorR <Igor Razin> Статус: Member
<"чистая" ссылка>
> Вот содержание обычного файла def:
>ActivateKeyboardLayout @1
Только надо бы _ActivateKeyboardLayout @1

> А теперь вопрос зачем нужны @1, @2, @3 и т. д.
Это количество байт передаваемых в параметрах.

А вообще это извращение. Т.к. у тебя и будут экспортироваться функции с такими именами.
[C++] Очень глупый вопрос про DLL ! 16.09.02 15:33  
Автор: Xemax Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Вот содержание обычного файла def:
> >ActivateKeyboardLayout @1
> Только надо бы _ActivateKeyboardLayout @1
>
> > А теперь вопрос зачем нужны @1, @2, @3 и т. д.
> Это количество байт передаваемых в параметрах.
>
> А вообще это извращение. Т.к. у тебя и будут
> экспортироваться функции с такими именами.

Не знаю ну помойму эта номера функций, а не количество принимаймых параметров. Взглини ссылку:
http://louhi.kempele.fi/~skyostil/store/code/4k/asm2001/USER32.DEF
там номера увеличиваются последовательно. Следующая функция принимает 2 параметра, а для нее указаео @1.

HKL ActivateKeyboardLayout(HKL hkl, UINT Flags);

и функция mouse_event насколько я знаю не принимает 644 параметра.
[C++] Очень глупый ответ про DLL ! 14.09.02 17:48  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
<"чистая" ссылка>
> Вот содержание обычного файла def:
>
> LIBRARY "DLL"
> DESCRIPTION 'DLL Windows Dynamic Link Library'
>
> EXPORTS
> ActivateKeyboardLayout @1
> AdjustWindowRect @2
> AdjustWindowRectEx @3
> AlignRects @4
> AllowForegroundActivation @5
>
> А теперь вопрос зачем нужны @1, @2, @3 и т. д. . Что они
> делают? И как изменяется DLL если их нет? В конце концов
> можно просто написать:
>
> LIBRARY "DLL"
> DESCRIPTION 'DLL Windows Dynamic Link Library'
>
> EXPORTS
> ActivateKeyboardLayout
> AdjustWindowRect
> AdjustWindowRectEx
> AlignRects
> AllowForegroundActivation

А нифига, по-моему, и не поменяется. Я С++ не изучал (юзаю Паскаль ака Delphi), но это очень похоже на индексы экспортируемых процедур. Смысл в том, что ты процедуру (или функцию) можешь из DLL вызывать не только по имени, но и по индексу (номеру), который ей присвоен программером, который ее писал. И этот самый индекс присваивать процедуре совсем необязательно.
1




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


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