7

私は完全なAda初心者ですが、HS中にPascalを2〜3年間使用しています。

IIRC、C /C++からPascalコンパイル済み関数を呼び出すことが可能です。C ++からAdaで記述されたプロシージャと関数を呼び出すことは可能ですか?

4

5 に答える 5

7

この古いチュートリアルによると、それは可能なはずです。

ただし、このスレッドで示されているように、Ada 関数の c++ extern "C" 定義には注意する必要があります。

于 2008-11-01T16:59:28.763 に答える
2

そのようなことは常に行われています。秘訣は、ルーチンに「C」スタイルの呼び出しプロトコルを使用するように両側に指示することです。C++ ではこれは extern "C" 宣言で行われ、Ada 側ではプラグマ Export ("C", ...

詳細については、お気に入りのそれぞれの参照ソースを参照してください。ポインターと参照パラメーターに注意してください。

于 2009-01-09T17:54:52.150 に答える
0

はい。数年前、私はそれを証明するために短い簡単なデモを書きました。2つのDLLがありました。1つはC++で記述され、もう1つはAdaで記述されています。浮動小数点値に定数を追加しただけです。2つのアプリ(1つはC ++、もう1つはAda)は、それぞれ両方のDLLを使用していました。したがって、C++呼び出し/Adaからの呼び出しのすべての可能な組み合わせが存在しました。それはすべてうまくいきました。これは、その時点で最新のバージョンが何であれ、Windows上にありました。覚えていませんが、LinuxまたはBeOSでこれが機能するようになった可能性があります。

さて、そこからソースコードを見つけることができれば...

于 2011-01-06T23:39:04.370 に答える
0

絶対に可能です。過去 5 年間、私は C++ と Ada を組み合わせたシステムに取り組んできました。

于 2008-11-02T02:43:23.937 に答える