到目前为止,我只看到了tools和一些关于为给定的C头文件创建Delphi代码的信息。
然而,在“Delphi first”的情况下,有一个Delphi接口声明和一个生成的DLL,没有C头。有没有工具可以提取必要的信息并为DLL构建一个C头文件?
在跨语言/跨平台的项目中,这样的工具可能会很有帮助,并且可以节省时间。例如,使用C头文件,使用jnaerator自动创建Java JNA绑定代码会更容易。工具链将如下所示:
Delphi源->创建C头->转换为Java绑定->使用Java中的Delphi DLL
发布于 2009-08-07 08:56:28
Delphi自己的编译器可以使用-JPHNE参数从.pas文件输出C/C++头文件。
发布于 2009-07-30 14:22:31
虽然这在理论上是可行的,但许多Delphi DLL将使用调用约定,如注册,不以标准C方式打包记录等,然后是RTL问题,协处理器状态字问题等。
也许大多数C编译器都可以通过添加一些编译指示来解决这个问题,但我怀疑整个Java绑定的东西都会吃掉它。
因此,除非DLL在设计时就考虑到了这一点,否则它很可能不会正常工作。
不过,读取和解析Delphi头文件并不难。Pascal比C更容易解析和转换。FPC (自由Pascal)有一个pascal解析器包,用于它的文档工具,它可能是可重定向的
https://stackoverflow.com/questions/1205636
复制相似问题