在Visual Studio 2012中生成.h文件和DLL

时间:2014-12-03 14:38:56

标签: c delphi visual-studio-2012 dll

我需要在Delphi应用程序中使用一些C代码。使用cmake,我可以在Visual Studio 2012中生成一个解决方案,将其编译为DLL。对于我来说,在Delphi中为所有函数编写所有导入单元需要花费一天的时间。我可以使用一个工具将DLL .h文件转换为pascal导入单元,但Visual Studio并没有为我提供DLL的.h文件。

那么我的选择是什么?:

  1. 我是否必须从.c文件中获取所有.h文件并自行将其编译为一个文件?
  2. 有没有办法让Visual Studio在编译期间为DLL创建.h?
  3. 还有什么我可以尝试将DLL导入Delphi以便在另一个应用程序中使用吗?
  4. 提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

通常,C代码的开发人员也会生成头文件。你知道为什么没有吗?或许你还没有找到它。

您不会找到一个好的工具来为您创建头文件。但无论如何,您不需要头文件。你想要一个Pascal导入文件。即使您有一个头文件,也没有好的工具可以从那里转换为Pascal导入文件。有一些工具可以尝试这项工作,但我对它们的体验是它们不能很好地工作。

如果C代码有额外的注释,它们只能很好地工作,而且它们很少这样做。例如,如何翻译:

int foo(int, int*);

int*参数是标量还是数组?如果是前者,参数是可选的吗? NULL可以通过吗?如果是后者,阵列有多长?基本头文件不提供完整的规范。

我想说最好的做法是手工编写Pascal导入代码。如果有很多重复,那么你可以编写自己的小工具来帮助。无论如何,这就是我一直在做的事情。