在 Linux 中(或更一般地在 POSIX OS 中)是否有保证在程序执行期间不会重用任何文件描述符,即使一个文件已关闭而另一个文件已打开?我的理解是这种情况通常会导致关闭文件的文件描述符被重新分配给新打开的文件。
我正在开发一个 I/O 跟踪项目,如果我可以假设在 open()/fopen() 调用之后,对该文件描述符的所有后续 I/O 都指向同一个文件,这将使生活变得更简单。
我将采用编译时或运行时解决方案。
如果不可能,我可以在处理跟踪文件时进行自己的核算(注意所有打开和关闭调用的位置),但我更愿意在跟踪程序的执行过程中解决问题。