你能将Ada泛型函数导出到C ++吗?

时间:2012-04-26 18:06:45

标签: c++ c ada

我已经看到很多地方可以使用导出/导入关键字在Ada / C / C ++之间进行通信。如果Ada功能是通用的呢?这有可能吗?

我的问题是我需要重用一些遗留代码,并且我们有许多通用的Ada函数。新层将以C ++编写,我希望能够将这些现有的Ada泛型函数导出到C ++包装器。 (实际上,如果函数不是全局函数,我将需要另一层,但现在不需要它。)

如果不可能,我只需要创建特定于不同类型的新的单个Ada函数,这些函数又调用泛型。有关这种方法的任何想法吗?

我绝对是Ada编程的菜鸟,所以请原谅我的无知。谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

编写一个小的Ada包,其规范包含exported子程序,其主体使用§B.3 Interfacing with C and C++中可用的类型实例化这些子程序。不要忽视在C方面呼叫adainit()adafinal()。更多here

答案 1 :(得分:-2)

我不熟悉w / Ada,但你应该能够调用导出的函数(假设Ada编译器没有做任何反常的事情)。您应该尝试转储Ada目标文件(编译结果)来检查函数名称。