ファイルのクローズや別のファイルのオープンが行われても、プログラムの実行中にファイルディスクリプタが再利用されないことを保証するには、Linux(というよりPOSIX OS)がありますか?私の理解では、このような状況は、通常、閉じられたファイルが新しく開かれたファイルに再割り当てされるファイル記述子につながります。ファイルディスクリプタの再利用の防止
私はopen()/ fopen()呼び出しの後で、そのファイル記述子への後続のすべての入出力が同じであると仮定することができれば、I/Oトレースプロジェクトに取り組んでいます。ファイル。
私はコンパイル時または実行時のいずれかの解決策をとる予定です。
トレースファイルを処理するとき(私はすべてのオープンコールとクローズコールの場所を記録しています)、私は自分のアカウンティングを行うことができますが、トレースされたプログラムの実行中に問題を解決したいと思います。
私はあなた自身の会計をやって2番目のアプローチを取るべきだと思います。ファイルディスクリプタの割り当て(POSIXで厳密に指定されている)の動作を不適合なものに変更すると、微妙な(そして危険な)方法でプログラムが中断されます。 –