有没有为Delphi(Win32)DLL创建C头文件的工具?

时间:2009-07-30 10:02:49

标签: java c delphi dll jna

到目前为止,我只看到tools以及为给定C头文件创建Delphi代码的一些信息。

但是,在'Delphi first'的情况下,有一个Delphi接口声明和一个生成的DLL,没有C头。是否有工具可以提取必要的信息并为DLL构建C头文件?

这样的工具可以在跨语言/跨平台项目中提供帮助并节省时间。例如,使用C头文件,使用jnaerator自动创建Java JNA绑定代码会更容易。工具链看起来像这样:

Delphi来源 - >创建C标题 - >转换为Java绑定 - >使用Java中的Delphi DLL

2 个答案:

答案 0 :(得分:7)

Delphi自己的编译器可以使用-JPHNE参数从.pas文件输出C / C ++头文件。

答案 1 :(得分:1)

虽然这在理论上有效,但许多Delphi DLL将使用调用约定,如寄存器,不以标准C方式打包记录等。然后在顶部有RTL问题,协处理器状态字问题等。

可能大多数C编译器都可以通过添加一些pragma来解决这个问题,但是我怀疑整个Java绑定会吃掉它。

因此,除非DLL是以此为基础制作的,否则这可能会比它更常用。

读取和解析Delphi头并不是那么难。 Pascal比例如解析和转换更容易C. FPC(Free Pascal)有一个pascal解析器包,用于可重定向的文档工具