我可以在Ada中使用普通的dll或其他语言包吗?

时间:2018-10-14 11:56:56

标签: dll package ada

当前,我使用的硬件为我提供了一个来自DLL的软件包。他们还提供具有DLL功能的不同语言(Java,C ++和Python)的程序包,因此我正在用Java编写应用程序。我想换成Ada,但我不知道使用DLL函数或公司以其他语言提供给我的软件包的方式。有办法吗?

我知道我可以从DLL中提取函数名称,但是我不完全知道如何将其转换为Ada包,或者我是否可以以任何方式使用以其他语言制作的包。

1 个答案:

答案 0 :(得分:0)

懒惰的答案只是“是”。 :-)

有关此主题的GCC文档在这里:https://gcc.gnu.org/onlinedocs/gnat_ugn/Using-DLLs-with-GNAT.html

如前所述,您还需要一个要使用的DLL中的函数的Ada规范。您可以手工编写它,也可以在C或C ++头文件上使用gcc -fdump-ada-spec自动生成一个。生成的规范并不总是很漂亮,但是与您自己重新编写的内容相比,它们更有可能是正确的。

相关问题