我已经看到很多地方可以使用导出/导入关键字在Ada / C / C ++之间进行通信。如果Ada功能是通用的呢?这有可能吗?
我的问题是我需要重用一些遗留代码,并且我们有许多通用的Ada函数。新层将以C ++编写,我希望能够将这些现有的Ada泛型函数导出到C ++包装器。 (实际上,如果函数不是全局函数,我将需要另一层,但现在不需要它。)
如果不可能,我只需要创建特定于不同类型的新的单个Ada函数,这些函数又调用泛型。有关这种方法的任何想法吗?
我绝对是Ada编程的菜鸟,所以请原谅我的无知。谢谢你的帮助。
答案 0 :(得分:4)
编写一个小的Ada包,其规范包含exported子程序,其主体使用§B.3 Interfacing with C and C++中可用的类型实例化这些子程序。不要忽视在C方面呼叫adainit()
和adafinal()
。更多here。
答案 1 :(得分:-2)