我需要在Delphi应用程序中使用一些C代码。使用cmake,我可以在Visual Studio 2012中生成一个解决方案,将其编译为DLL。对于我来说,在Delphi中为所有函数编写所有导入单元需要花费一天的时间。我可以使用一个工具将DLL .h文件转换为pascal导入单元,但Visual Studio并没有为我提供DLL的.h文件。
那么我的选择是什么?:
提前感谢您提供的任何帮助。
答案 0 :(得分:1)
通常,C代码的开发人员也会生成头文件。你知道为什么没有吗?或许你还没有找到它。
您不会找到一个好的工具来为您创建头文件。但无论如何,您不需要头文件。你想要一个Pascal导入文件。即使您有一个头文件,也没有好的工具可以从那里转换为Pascal导入文件。有一些工具可以尝试这项工作,但我对它们的体验是它们不能很好地工作。
如果C代码有额外的注释,它们只能很好地工作,而且它们很少这样做。例如,如何翻译:
int foo(int, int*);
int*
参数是标量还是数组?如果是前者,参数是可选的吗? NULL
可以通过吗?如果是后者,阵列有多长?基本头文件不提供完整的规范。
我想说最好的做法是手工编写Pascal导入代码。如果有很多重复,那么你可以编写自己的小工具来帮助。无论如何,这就是我一直在做的事情。