2016-09-17 7 views
2

私はgo buildは今、私はGoogleで検索し、何も見つからなかっまし.exe.exe~拡張子は.exeです。

を作成していることに気づいた、これが唯一のバザーライブラリの一つは、私が使用しているパッケージへの依存関係として使用された後に起こって開始しました。

何かのために.exe~が必要ですか?削除できますか? Windows上で行くと私の経験で

答えて

5

go buildコマンドが理由の.exe~ shadowファイルが作成されます:あなたは以前にランタイムを構築し、.exeファイルを作成し

  1. すでにバイナリを起動/実行しています。
  2. 前回の実行がまだ実行されていますまたはその他の愚かなファイルロックが発生しました。
  3. もう一度go buildにしようとしましたが、前のバイナリはまだ使用されていました。ボンネットの下に何が起こる

go buildは、それが使用されている間に〜.exeをするために、既存の実行.exeファイルの名前を変更し、次の実行のために.exeファイルで新しいバイナリを配置しますです。

20年以上の他のWindowsアプリケーションが恐ろしい "File In Use"エラーを返すと、私はいつもそれがファイルの使用方法に魅了されています。

あなたがgoバイナリを実行すると、ファイルのロックが実行されないことがわかります。したがって、次のビルドでは、使用中の名前を単に変更することができます。

私のテスト(2014)中、新しい.exeは最新のバージョンで、.exe〜は実行されていた以前のバージョンでした。

再コンパイル時に私のユースケースが意図的に既存のバイナリを置き換えたので、これを中心に多くのテストを行いました。

+0

非常に有益です、ありがとうございます! – hellyale