Makefile でビルドされた Windows の C プロジェクトがあります。ここで、呼び出した後、何かが発生するまでに約 40 秒かかることに気付きgmake
ました (それまでは、出力が生成されず、何も発生していません)。
次に、-d
フラグを使用してこの問題の根本を見つけました。gmake
このフラグを使用して実行すると、40 秒で次の出力が生成されます。
Creating temporary batch file C:\Users\User\AppData\Local\Temp\make564-1.bat
CreateProcess(C:\Users\User\AppData\Local\Temp\make564-1.bat, C:\Users\User\AppData\Local\Temp\make564-1.bat,...)
Cleaning up temporary batch file C:\Users\User\AppData\Local\Temp\make564-1.bat
この操作は、最初の 40 秒間、何度も何度も発生しています (同じバット ファイルが何度も何度も)。バットファイル自体にはこれが含まれています:
@echo off
dir /b/a-d/-W/s .\*.c .\*.s
私は、この動作が正常だとは思いません (またはそうですか?) - つまり、同じファイルを何度も作成するだけです - これには何の意味もありません。これの問題は、コンパイルしようとするたびに(不必要に失う)時間だけです。