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

到目前为止,我只看到了为给定的C头文件创建Delphi代码的工具和一些信息。

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

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

Delphi源码 – >创建C头 – >转换为Java绑定 – >使用Java中的Delphi DLL

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

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

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

因此,除非DLL是以此为基础制作的,否则这可能会更频繁地工作。

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