2013-03-28 15 views
7

Я работаю над DLL, и я хочу, чтобы функции, которые я экспортирую, экспортировали только по порядковым номерам не по имени.Экспорт функций из dll только порядковый номер

Возможно ли это? Если да, я хотел бы знать, как это делается.

+4

Вы можете использовать порядковые значения: http://101.lv/learn/delphi/ch19.htm. Но имя не «скрыто», поэтому я боюсь, что вы не получите * только по * части. Но, конечно, вы могли бы назвать свои функции 'Function001' и т. Д. –

+0

Я думал, что ординальный экспорт был устаревшим в 32-битных окнах. –

ответ

13

Единственный способ заставить Delphi отметить функцию экспорта - использовать директиву exports. Delphi всегда будет добавлять именованную запись в таблицу экспорта PE для каждой экспортируемой вами функции. Но достаточно легко присвоить функции имя.

library Project32; 

procedure Foo; 
begin 
end; 

exports 
    Foo index 1 name ''; 

begin 
end. 
+0

, что он сделает трюк. Спасибо – opc0de

+1

Насколько я знаю, вы не можете сделать ничего лучше, чем это со встроенными инструментами. Думаю, вы могли бы обработать файл PE, чтобы удалить таблицу экспортированных имен и просто оставить ординалы. –

+6

+1. Не знаю, вы могли бы использовать пустую строку как имя! –

Смежные вопросы