問題タブ [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 に答える
350 参照

exception - gtkada 使用時の例外の管理方法

gtkada を使用していて、GUI が実行されている場合、例外は管理されず、プログラムは常にクラッシュします。メッセージは

このアプリケーションは、異常な方法で終了するようランタイムに要求しました。

詳細については、アプリケーションのサポート チームにお問い合わせください。

テストコードは次のとおりです。

ボタンが押されると例外が発生しますが、同じ手順で処理する必要がありますが、その代わりにプログラム全体がクラッシュします。

この問題を解決する方法はありますか?

ありがとう

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

ada - gnatbench による多言語ビルド

gnatbench (C/C++) で多言語プロジェクトをビルドしようとしていますが、C++ コードのビルドが無視されます。私のプロジェクトファイルは次のようになります:

GPS は適切にビルドするようですが、gnatbench はビルドしません。また、gnatbench は gnatmake を使用してビルドし、GPS は gprbuild を使用してビルドすることに気付きました。gnatbenchを使用しない以外に、これを修正する方法はありますか?

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

ada - Ada:gnat gprbuildライブラリにリンクする方法は?

私が取り組んでいるこの多言語GPRBuildプロジェクトには、実行可能ファイルにリンクする必要のあるc ++ライブラリファイル(* .a)がいくつかあります。何をリンクするか、またはとにかく-l -Lスイッチをリンカーに渡すためのgpr属性はありますか?

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

gtk - GTKAda でボタンのラベルのフォント サイズと色を変更する

GTKAda でボタンのラベルの特性を変更する方法は誰でも知っています。

Pango のパッケージと Style のパッケージを Widget のパッケージで試してみましたが、プロパティは変更されません。

コードは次のようなものです。

ただし、ラベル「選択」の特性は変わりません。

アイデアやヒントはありますか?

私の質問を読んで参加してくれてありがとう。

0 投票する
4 に答える
4108 参照

ada - Ada(GNATでコンパイル)を取得して、現在のディレクトリの外部からファイルをインポートしますか?

私は大学でプログラミングコースの紹介をしています。選択した言語はAdaです。私はKateでコーディングし、GNAT4.6.3でコンパイルしています。次のように、プログラムには教師が提供するライブラリを使用する必要があります。

もちろん、ファイルfoo.adbは私のソースファイルと同じディレクトリに含まれている必要があります。複数のプロジェクトがこの1つのライブラリに依存しており、各プロジェクトを独自のサブディレクトリに保持したいので、ライブラリファイルを新しい各プロジェクトにコピーする必要があります。言うまでもなく、私のライブラリコードとソースコードはすべて同じディレクトリにあります。

だから、行く方法はありますか?

少し調べてみましたが、見つけたのはコンパイラオプションに関するものだけです。特に、特定のプロジェクトのみがこの特定のライブラリを必要とするため、それらをいじくり回す必要はありません。そのため、グローバルコンパイラ設定に追加して、コンパイラに無意味にパスを検索させるのは意味がありません。検索する必要はありません。

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

list - Ada: 一般的なリストの個々の要素にアクセスする

私は、「Indefined_Douly_Linked_Lists」リストを使用して、Ada で一般的な数値のスタックをプログラムしました。

ポップ & プッシュ操作は、append と delete_last で実装されますが、並べ替え方法では、リストの個々の項目にアクセスする必要があります。

私は、append/prepend delete_last/first のみを使用してソート方法を考え出しましたが、結果はエレガントとはほど遠い (そしておそらく正しくない)

ジェネリック型のリストから個々の要素にアクセス (または反復) するにはどうすればよいですか?

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

ada - エイダ:パッケージはボディを許可していません

GNATコンパイラを使用して、次のファイルでセマンティックをコンパイルまたはチェックしようとすると、エラーのバリエーションが発生しますpackage "Foo" does not allow a body。私はこの言語に不慣れで、この一見基本的な問題に対する答えをインターネット上のどこにも見つけることができません。お知らせ下さい。

foo.ads

foo.adb

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

xcode - Macでadaをコンパイル/ビルドする方法は?

コマンドラインツールを使用してxCode4.5.1でMacOSX 10.8(Mountain Lion)を実行しています。

ここからGNAT2012をインストールしました。

このチュートリアルを使用してインストールしました:

次のファイルを含むディレクトリに移動します。doinstallEnter
:sudo mkdir / usr / loca / gnatパスワードを入力する必要があります
Enter:sudo ./doinstallプロンプトが表示されたらreturnキーとyキーを押しますパスを更新します:sudo export PATH = / usr / local / gnat / bin:$ PATHこれで、コマンドgnatmakeを使用してコンパイルできるようになります。

すべてがうまくいき、私は再起動しました。デスクトップにhello.adbがあります。

そして、ターミナルでデスクトップに移動してを実行しgnatmake hello.adbます。しかし、私はこれを取得します

しかし、ターミナルで実行するinfo gnatと、非常に大きなドキュメントが表示されます。

  1. hello.adbをコンパイルできないのはなぜですか?とにかく修正しますか?
  2. xCode内でadaプロジェクトを作成してコンパイル/デバッグできますか?xCodeをIDEとして使用してソースファイルを編集したいと思います。もしそうなら、どのタイプのプロジェクトを使用しますか?「外部ビルドシステム」かもしれませんか?誰かがxcodeを使用してHelloWorldを実行する方法についてのチュートリアルを投稿できますか?それは私に大いに役立つでしょう。ビデオは素晴らしいでしょう。エイダがインターネット上にほとんどリソースを持っていないのはとても残念です。
0 投票する
1 に答える
587 参照

ada - source_dirs が .gpr scipt で機能しない

Ada/C++ プロジェクトを継承し、gprbuild を使用してビルド プロセスを自動化しようとしています (これは、以前は約 12 個の .bat ファイルのセットで行われていました)。私は Ada と gprbuild にまったく慣れていませんが、実際にはかなりの進歩を遂げています。必要な .exe はコンパイルできますが、ライブラリはコンパイルできません。.gpr ファイルを完全に共有する自由はありませんが、関連する部分は次のようになります。

「gprbuild -P my_project.gpr」を実行すると、「gcc -c gnat5 one_more_ada_file.adb」が実行され、one_more_ada_file.adb が依存している特定のファイルが見つからないというエラーが表示されます。依存関係は ..\another_project\even_more_ada_files にあるので、見つかると思います。しかし、依存関係を one_more_ada_file.adb と同じフォルダーにコピーすると、エラーはなくなります。

VCS のセットアップ方法と 2 つのプロジェクト間でコードを共有する方法のために、すべての ada ファイルの複数のコピーを保持するよりも、「source_dirs の使用」の使用方法の何が問題なのかを理解したいと思います。

繰り返しますが、私は Ada/GPS 初心者なので、関連情報を省略している場合はお知らせください。

更新: 特定の問題は、source_dirs がまったく何もしていないことではなく、1 つのディレクトリの .ads ファイルが別のディレクトリの .ads ファイルに依存する 2 つのソース ディレクトリを持つことを処理しないようです。つまり、上記の「他の」プロジェクト内でも、even_more_ada_files の .ads ファイルに依存する some_other_ada_files の .ads ファイルは、gprbuild を実行したときに gcc -c -gnat05 コマンドでコンパイルされません (エラー: のファイルeven_more_ada_files が見つかりません)、ディレクトリごとに 1 つずつ、2 つの -I フラグを使用して手動で (または .bat スクリプトで) gcc コマンドを実行すると、コンパイルされます。