2016-04-17 15 views
0

ファイル処理APIをプログラミング言語で使用する場合、バイナリファイルをOSが提供するファイルI/O要求に変換すると仮定します。ファイルシステムはアプリケーションの移植性に影響しますか?

論理的には、最終バイナリ実行ファイルは、ホストOSが使用しているファイルシステムに依存しないようにする必要があります。

この場合、Fileシステムは実際にアプリケーションの移植性に影響しますか?

答えて

1

ように、多くの場合、答えは「イエスとノー」である - 私は手の込んだてみましょう:

異なるファイルシステムは、例えば、異なる特性を持っています最大ファイルサイズ、ファイル名の大文字と小文字の区別、ファイル名を共有するファイルシステムオブジェクトの数、おそらくもっと多くのものがあります。

これらの機能の共通サブセット、つまり2G未満のファイルサイズしか使用しない限り、大文字と小文字が異なるファイル名(大文字と小文字は常に同じ)、ファイル名の文字の小さなサブセット、あなたが移植性の問題にぶつかることはほとんどありません。

ただし、高度な機能を使用すると、すぐに問題に遭遇する可能性があります。 Windowsでは、FATディスクに4G + 1バイトを書き込む要求に直面すると、奇妙なことが起こりがちですが、ext3 my.pdfmy.PDFは同じディレクトリに簡単に存在する可能性があります。

+0

パス区切り文字も使用できません。 –

+1

@ EugeneMayevski'EldoSCorpパスの区切り文字は、ファイルシステムのプロパティではなく、オペレーティングシステムのプロパティです:1つの同じFATファイルシステムは、Windowsでは '\'、Unixタイプでは '/'を使用しますシステム。 –

+0

ありがとうございました。はいといいえ。厳密に言えばあなたは正しいが、OPの観点からは、プラットフォームに依存しないコードを書いたときには、彼はファイルシステムと直接対話するのではなく、OSと対話する。 –

関連する問題