Mr.*_*rdy 2 c++ linux 32bit-64bit
在将C++应用程序从32位转换为64位Linux时,我发现了一个有趣的错误.我们的FileStore类实现了向/从文件保存/恢复结构.除了在一个方法中,它总是在每个操作之前和之后调用fopen()和fclose().在32位平台上的这种(错误)方法中,它可以在没有错误的情况下fseek()和fread(),即使该文件之前已经通过其他方法fclose()了.在64位平台上,它每次都在fread()上崩溃.我想在32位平台上,即使在fclose()之后,基础FILE结构仍然存在,因此仍然可以访问它.有没有人有任何进一步的信息,为什么这个差异和任何其他陷阱64位文件i/o?