当我们在任何编程语言中使用文件处理API时,我认为这会将二进制文件转换为操作系统将为您服务的文件I / O请求。
逻辑上,您的最终二进制可执行文件应该与主机操作系统使用的文件系统无关。
是这种情况还是文件系统实际上影响了应用程序的可移植性?
答案 0 :(得分:1)
通常,答案是“是和否” - 让我详细说明:
不同的文件系统具有不同的属性,例如最大文件大小,文件名的区分大小写,共享文件名的文件系统对象的数量,最多可能更多。
现在只要你只使用这些功能的公共子集,即文件大小低于2G,没有文件名只有大小写(并且总是使用相同的大小写),文件名中的小字符子集等等你不太可能遇到可移植性问题。
但是,当您使用任何高级功能时,您可能很容易遇到麻烦。当遇到将4G + 1字节写入FAT磁盘的请求时,Windows往往会做奇怪的事情,在ext3 my.pdf
和my.PDF
上是不同的文件,可以很容易地存在于同一目录中。