我正在尝试创建一个完全托管在 Eclipse 中、以 C++ 开始并调用 Ada 的程序。我已经加载了 GNATBench,并且可以毫无问题地运行 Ada 程序。我不能做的是让 C++ 项目称为 Ada 项目。
在四处寻找之后,我找到并使用 make 文件执行了下面显示的代码。
http://www.pegasoft.ca/resources/boblap/book.html
我还发现一个帖子说我的目标已经完成。
我还需要包括什么才能让 Eclipse 中的 C++ 在 Eclipse 中调用 Ada?
使用制作文件:
$ c++ -c test.cc
$ gnatgcc -c test_subr
$ gnatbind -n test_subr
$ gnatgcc -c b~test_subr
$ gnatlink -o main test.o test_subr.ali --link=c++
$ ./main
CPP代码:
//main.cc
#include extern "C" void adainit(void);
#include extern "C" void adafinal(void);
#include extern "C" void ada_subroutine(void);
int main(int argc, char **argv)
{
puts("C++ main");
adainit();
ada_subroutine();
adafinal();
puts("C++ done");
return 0;
}
阿达代码:
package Test_Subr is
procedure Ada_Subroutine;
pragma export(CPP, Ada_Subroutine);
end Test_Subr;
with Ada.Text_IO;
use Ada.Text_IO;
package body Test_Subr is
procedure Ada_Subroutine is
begin
put("IN ADA");
end Ada_Subroutine;
end Test_Subr;