0

2 つの質問があります。

1)たとえば、次のようないくつかの数字を含むファイルがある場合:

  4 5 6 7 

または次のような単語:

  home sun cat dog

それをメモリの領域にマップできますか? それとも、バイナリファイルに対してのみ行うことができますか?

2)ファイルが小さくてもマッピングは便利?

ありがとうございました。

4

3 に答える 3

0

はい、メモリの領域にマップできます。役に立つかどうかは、ユースケースによって異なります。

バイナリファイルとは何かについて少し混乱しているようです...コンピューターの場合、すべてのファイルは「バイナリ」であり、バイトのリストにすぎないという意味です。非バイナリ ファイルと呼ばれるものは通常、人間が判読できるファイルです。つまり、ファイルに含まれるバイトの値は、文字、数字、およびその他の判読可能な記号として表示されます。

次に、一部の OS (windows) では、ファイルを非バイナリとして開くと、ファイルに改行文字 ('\n') を書き込むときに特別な処理が行われます。Windows では行末が他の OS のように "\n" ではなく "\r\n" であるため、実装によって改行の前に改行文字 ('\r') が追加されます。'\n' と '\r' は 'a' や 'b' や '!' のような単なる値であることに注意してください。つまり、それらはすべて 0 ~ 255 の範囲にあります (unsigned char に格納できる値)。

于 2013-09-03T11:33:24.710 に答える
-1

通常、すべてのファイルは、単に表示または処理するためにメモリにマップされます。メモリから OS はデータを CPU または他のハードウェア デバイスに送信します。ファイルサイズに関係なく、マッピングが必要です。

于 2013-09-03T11:58:27.010 に答える