問題タブ [gnat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3728 参照

ada - Adacore Gnat バージョンと「標準」バージョンの違いは何ですか

Adacore Libre バージョンで提供される Gnat コンパイラと、Linux ディストリビューションまたは MinGw の gcc に標準で付属する Gnat コンパイラとの根本的な違いを理解しようとしています。

主な違いは、Adacore のバージョンが常に最新のものであるのに対し、Linux ディストリビューションで得られるものは、ディストリビューションがパッケージ化された時点で利用可能だったものである可能性があることだと思います。

しかし、機能的な違いもありますか? Adacore バージョンには、Gnu から入手できる一般的なオープン ソース バージョンにはリリースされていない改善された機能がありますか?

私は経験豊富な Linux ユーザーではないので、Gnu/オープン ソースの世界でより多くの経験を積むためにこれが透過的である場合は申し訳ありませんが、これについては何も見つかりませんでした。

0 投票する
2 に答える
221 参照

garbage-collection - GNAT で libgc を使用しますか?

Ada がガベージ コレクションをサポートしているという話をいくつか聞いたことがあります。言語設計を見ると、明らかにそれを念頭に置いて設計されています。

ガベージ コレクションが非常に役立つ非リアルタイム アプリケーションがあります。ただし、私のコンパイラである GNAT で使用できるガベージ コレクタがあるという言及は見たことがありません。これには驚きました。C でさえ、単に libgc にリンクするだけでガベージ コレクションをサポートします。

libgc をリンカ行に単純に追加すると、動作しますか、それとも恐ろしいことが起こりますか?

0 投票する
1 に答える
563 参照

ada - AUnit 3 (Ada 用) はどこでダウンロードできますか?

Ada (特に GNAT-4.9) 用の AUnit (AFAIK、最新バージョンは 3) をダウンロードする場所は?

この AUnit がライセンスされた GPL であるかどうかは気にしません。なぜなら、それは私のテスト プログラムにのみ使用され、テスト プログラムのライセンスは関係ないからです。

私は Debian システムを持っていますgnat-4.9。パッケージlibaunit2-devは、このバージョンの GNAT ではインストールされません。そしてlibaunit2-dev、AUnit 3 ではなく AUnit 1 のようです。私は最新バージョンを好みます。

0 投票する
1 に答える
522 参照

opengl - OpenGL ADA バインディングを GNAT Programming Studio と ADAGide で認識させるにはどうすればよいですか?

OpenGL と Ada の使用に関して、ADA IDE (GPS と ADAGide を含む) で opengl 呼び出しにアクセスする方法を学ぶ際に、深刻な問題が発生しています。プログラムをコンパイルまたはビルドしようとするたびに、バインディングに含まれている test.gpr を実行またはビルドしようとすると、「c:/openglada/lib」が見つからないというエラー メッセージが表示されます。

ADAGide でコンパイルしようとすると、同様のエラー メッセージが表示されます。

この問題を解決するにはどうすればよいですか? これをほぼ 4 日間修正できませんでした。私はWindows 7、32ビットで作業しています。

0 投票する
2 に答える
242 参照

ada - Ada: 2 つの異なるコンソール ウィンドウを使用できますか?

Ada プロジェクトに GNAT 2014 を使用していますが、簡単な (希望する) 質問があります。同時に 2 つの「コンソール」を開くことはできますか?

理由を説明しましょう。私のプログラムは、大量のログ データをコンソールに出力します。私が望むのは、プログラムの出力を出力するコンソールと、ユーザーの入力を受け取るコンソールの 2 つの別個のコンソールを用意することです。

これは実行可能ですか?それとも、これは OS 側で実行されるものであり、Ada は制御できませんか? GtkAda を使用して目的を達成できましたが、できるだけサードパーティのライブラリを使用したくないので、最初にネイティブな方法があるかどうかを知りたいと思いました (また、発行する必要があるコマンドが非常に基本的なものであることを考慮して、次のようにします)。 「終了」または「一時停止」、コンソール入力で十分です)。

0 投票する
3 に答える
888 参照

c - c マクロ __LINE__、__FILE__、__func__ は gnat ada で同等

gnat adac マクロ __LINE__, __FILE__, に相当するものはあり__func__ますか? これらは、コード内のエラーをすばやく見つけるためのエラー メッセージで非常に役立ちます。同じ目標をアーカイブするための別の概念があるかもしれません。

0 投票する
2 に答える
767 参照

oop - Ada のタグ付きレコードのプライベート属性

オブジェクト指向のパラダイムから考えると、タグ付けされたレコードのプライベート属性をどのように実装する傾向があるのでしょうか?

現時点では、唯一の方法は、プライベート タイプの属性を持つことです。

例えば

t_private_attributes は、パッケージのプライベート部分で宣言されています。

私が考えた2番目の方法は、たとえば継承を使用することでした

car_private はパッケージのプライベート部分で宣言されています。この実装は非常に面倒だと思いますが。

人々はどのようにこれを行う傾向がありますか?

ありがとうマット

0 投票する
3 に答える
497 参照

ada - Ada 95 コンパイラのバージョン変更、キャストの問題あり

私は、もともと GNAT 3.13a1 を使用してコンパイルされたレガシー Ada 95 プロジェクト (他の会社から継承されたもの) に取り組んでいます。コンパイラを GNAT 4.7.4 に更新して、さらなる開発で使用したい GNAT ライブラリにアクセスできるようにしましたが、-gnat95 フラグを使用しています。

特定のファイルをコンパイルするのに問題があります。「Ada.Calendar.GMT」という名前だったという点で、少し変わっています。これは、Ada パッケージ ツリー内のパッケージの子パッケージであるパッケージを定義できないという新しいコンパイラの問題でした。これはそれほど大きな問題ではないと判断したので、パッケージの名前を「GMT_Library」に変更し、Ada.Calendar をインポートしてそのタイプにアクセスし、ファイルの名前を適切に変更しました (さらなるコンパイラ警告)。

しかし今、コンパイラは、Ada.Calendar.Time を Duration にキャストすることは無効であると不平を言っています。具体的には、次のエラーが表示されます。

パッケージの名前を変更し、Ada.Calendar をインポートする以外に、このソース ファイルまたは対応する仕様ファイルを変更していません。なぜこれが GNAT 3.13a1 で許可された操作なのですか? なぜ機能しなくなったのですか?解決策はありますか?

編集:

D は Duration で、Date は Ada.Calendar.Time です。

さらに調査した結果、元の開発者は主にここで定義された Ada.Calendar の実装をコピーしたようです。そのファイルは、Split プロシージャで同じキャストを実行します。では、標準ライブラリがそれを実行しても問題ないのはなぜですか?

0 投票する
1 に答える
558 参照

static - libgnat を動的にリンクする

非常に単純なADAコードをコンパイルしようとしています。すべてが魅力のように機能しますが、1 台のコンピューターでは実行可能ファイルがlibgnatに動的にリンクされていますが、もう 1 台のコンピューターでは静的にリンクされています。どちらの場合も、gnatmakeツールを使用します。

なぜそれが起こっているのですか?GNAT にライブラリを動的にリンクさせる方法を知っていますか?