2013-03-28 130 views
7

我正在处理一个DLL,我希望导出的函数只能通过序号而不是按名称导出。从dll导出函数唯一序号

这可能吗?如果是的话,我想知道如何做。

+4

您确定可以使用序号值:http://101.lv/learn/delphi/ch19.htm。但是这个名字并不是'隐藏'的,所以我担心你不会只获得*部分。但是,当然你可以命名你的函数'Function001'等。 – 2013-03-28 08:45:41

+0

我认为序数导出在32位窗口中被弃用。 – 2013-03-28 21:55:36

回答

13

德尔福标记出口函数的唯一方法是使用exports指令。并且Delphi将为您导出的每个函数始终为PE导出表添加一个命名条目。但是很容易让这个功能没有名字。

library Project32; 

procedure Foo; 
begin 
end; 

exports 
    Foo index 1 name ''; 

begin 
end. 
+0

,它会做的trick.thanks – opc0de 2013-03-28 09:06:27

+1

据我所知,你不能做任何比这更好的内置工具。我想你可以后处理PE文件,以删除导出的名称表,只留下序号。 – 2013-03-28 09:07:33

+6

+1。不知道你可以使用空字符串作为名字! – 2013-03-28 09:09:38