Ada。

2016-12-02 4 views
3

実行したいシンプルなタスク(スレッド)プログラムがありますが、ビルドには30秒以上の時間がかかります。これは、いつでもプログラムを実行する前に、ビルドがビルドされるのを待たなければならないことに疲れさせます。特に、私がしたいことは、Put文をここまたはそこに追加するような、何か重要でない変更です。Ada。

これは私が参考にしているプログラムです。私はGPS 2016を使用しています。私はAdaの初心者です。

with Ada.Text_IO, Ada.Integer_Text_IO; 
use Ada.Text_IO, Ada.Integer_Text_IO; 

procedure Main is 
task First_Task; 
    task body First_Task is 
    begin 
     for Index in 1..4 loop 
     delay 2.0; 
     Put("This is in First_Task, pass number "); 
     Put(Index, 3); 
     New_Line; 
     end loop; 
    end First_Task; 

    task Second_Task; 
    task body Second_Task is 
    begin 
     for Index in 1..7 loop 
     delay 1.0; 
     Put("This is in Second_Task, pass number"); 
     Put(Index, 3); 
     New_Line; 
     end loop; 
    end Second_Task; 

    task Third_Task; 
    task body Third_Task is 
    begin 
     for Index in 1..5 loop 
     delay 0.1; 
     Put("This is in Third_Task, pass number "); 
     Put(Index, 3); 
     New_Line; 
     end loop; 
    end Third_Task; 

begin 
for Index in 1..5 loop 
delay 0.7; 
     Put_Line("This is in the main program."); 
end loop; 
end Main; 
+0

ニースMCVE! FSF Gnat 4.9.3(Debian Jessie)は数分の1秒で構築します(コンソールの 'gnatmake main.adb'という基本的なテキストエディタ)。GPSインストールの問題のように聞こえる、私はあなたのOSと、誰かが再現できるかどうかを確認するためにGPSをインストールしました。または、適切な選択肢があるかどうかを確認するために 'getadanow.com'に向かいましょう。 –

+0

私はWindows 10マシンでGPS 2016を使用しています。私はタスキングを始めたときにすぐに問題に遭遇しました。これまではすべて(タスク)を非常に迅速に構築しました。 GPSをインストールしたら、私はlibre.adacore.comに行きました。私はWindows x86 Windows(32-bit)を選択し、インストーラを実行しました。私はそれをしてからしばらくしていますが、私はそれがどうやって行なわれたのかかなり確信しています。 – David

+1

Windows版のGNATコンパイラはまだ32ビットです。問題ない。最新のx86 CPUは、32ビットと64ビットの両方のモードで動作します。 –

答えて

3

将来のユーザーのために検索可能性を高めるための回答を投稿する。あなたが完全なソリューションを見つけた場合、あなたのAVソフトウェアがこれとクリーンなソリューションを行う理由はまさに、あなた自身の答えを掲示して受け入れることをためらってください。

最初に、MCVEは、コードまたは少なくとも1つのGnatコンパイラ(Linux x86-64、Debian Jessie、gcc4.9.3)のインストール特有の問題を指摘して、何も問題ないことを明らかにした。

インストールはWindows-10ではGnat GPL-2016(32ビット)、IDEはGPS、AVASTウイルス対策ソフトウェアです。

前の問題のレポートと噂は、2人の可能な候補者、

  • 珍しいPythonのインストールで指摘 - GPSのPythonに依存し、予想外のPythonのバージョンを見つけることは、いくつかのトラブルに
  • アンチウイルスソフトウェアの相互作用を引き起こすことが噂されています予期しない方法でIDEを使用します。

これらのうち、後者が問題であることが確認されており、プログラムビルド時にAVを無効にすると、許容可能なビルド時間が復元されます。 (これはAdaやGnatに固有のものではなく、FPGA開発ツールでも見ました)

私たちには一時的な回避策があります。

次のステップは、AVASTがビルドプロセスに対してアレルギーを起こす理由を特定し、プログラミングセッション中にAV保護を維持するために誤検出に対する反応を無効にすることです。

中間ファイルの.oと.aliファイル(ObjectとAda Linker)、または中間ファイル ""が実行時システムとOSに貼り付けられます。

ほとんどの場合、b~whatever.oオブジェクトファイルは、プロセス操作のための異常なOSプリミティブにリンクしてAdaタスクを実装すると、アレルギー反応を引き起こします。おそらく、これは注意を引くのに十分密接にウイルスの動作に似ています。

答えは、AvastにAdaプロジェクトのビルドフォルダをスキャンしないように教えたり、ファイルタイプごとにスキャンするものをフィルタリングしたりすることです。しかし、私はそれ以上の助けとなることはできません。