2

ですから、これから説明することを実際に行う必要はないことを理解していますが、終了する前にプログラムがすべてを確実にクリーンアップすることに非常にうるさいので、まだやりたいです...

シングルショットタイマーを終了スロットに接続する QApplication があります。(将来的には、ユーザーがクリックすると UI からこの終了が実際に生成されると想像してください。これはデバッグ用です) 最初は、スタックのメイン関数に qApp を割り当てただけだったことに気付きました。問題は、exec関数が戻る必要がないように思われるいくつかの調査を行うことです。これは、メイン関数スタックがクリーンアップされないことを意味します。(または、少なくともプログラムが終了し、システムがそのメモリを再利用するまでは...) したがって、valgrind には QCoreApplication::init() メモリの「問題」がいくつかあります。繰り返しますが、私がうるさいだけで、本当に物事に影響を与えています...

とにかく、QApplication を malloc してから、プログラムが終了する直前に解放することにしました。信号に対してこれを行うことができますが、終了信号ではどうですか? 私は aboutToQuit シグナルに縛られていますが、それは qApp を吹き飛ばす適切な段階ではないように感じます。だから私の質問は、qAppを削除する適切な場所はありますか? はいの場合はどこですか?

4

1 に答える 1