1

Python を使用して、コンパイルされた C++ exe から戻り値を取得しようとしています (タイミングを合わせている間)。

これは私のPythonコードです

import subprocess
import time

info = subprocess.STARTUPINFO()
info.dwFlags |= subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = subprocess.SW_HIDE

t1 = time.clock()
h = subprocess.Popen([r"C:\Users\MyName\Desktop\test.exe"], startupinfo=info) 
h.communicate()
t2 = time.clock()-t1

print "Return Code:", h.returncode
print "Duration:", t2

これは test.cpp の内容です:

int main(){    
    return 1234;
}

これはPythonの出力です

Return Code: 1234

Duration: 0.0438238265388

43 ミリ秒以上は長すぎて不正確だと思います。より良い方法はありますか?

4

1 に答える 1

0

また、C++ プログラム自体から時間を測定することをお勧めします。Python プログラムで時間を取得することにまだ興味がある場合は、C++ プログラムから計算された時間を戻すことができます。これはかなり正確なはずです。また、他の人が示唆したように、複数の実行の平均を取ります。

于 2012-06-09T07:02:38.577 に答える