2016-09-17 103 views
2

我注意到,go build正在創造一個.exe.exe~什麼是.exe〜的擴展名?

我GOOGLE了,發現什麼都沒有,這只是開始發生集市圖書館之一作爲一個依賴於我使用的是包後。

我需要.exe~的任何東西嗎?我可以刪除它嗎?

回答

5

在我與圍棋在Windows上的經驗,go build命令將創建一個.exe~ shadow文件,因爲:

  1. 您以前建立的運行時間,創造了一個.exe。
  2. 您已經啓動/執行了二進制文件。
  3. 之前的執行仍在運行或其他一些窗口發生的愚蠢文件鎖定。
  4. 您再次嘗試go build,而以前的二進制文件仍在使用中。

引擎蓋下會發生什麼事是go build將重命名現有執行.exe文件以.EXE〜而這是在使用,將會把新的二進制文件在.EXE下一個執行。

當20多年的所有其他Windows應用程序返回可怕的「文件正在使用」錯誤時,我一直對它如何使用文件着迷。

我最好的猜測是,當你執行一個go二進制文件時,執行文件不會對文件進行鎖定。所以下一個版本可以簡單地重命名使用中的一個。

在我的測試(2014)期間,新的.exe是最新版本,並且.exe​​〜是之前運行的版本。

我做了大量的測試,因爲我的用例故意在重新編譯時替換現有的二進制文件。

+0

非常豐富,謝謝! – hellyale