[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00196] Re: 巨大ファイルの扱い



潮田です。

>  しらいです。

>  Linux だけを対象にするならば _FILE_OFFSET_BITS の方で構わ
> ないのですが、他の OS も救済することを考えて、USESTAT64 とい
> う識別子で stat64() を使えるようにしておきますね。
>  ただ、どの OS のどの version でこれが使えるのかが判ってい
> ませんので、#define しておくのはやめておきます。HP-UX に実装
> されていることは判っているのですが、古い version には存在し
> ないので version 判別が厄介そうです。
では、情報の提供だけでもさせていただきます。
AIX)
    stat64() は実装されています。
    man によると AIX 4.2 以降にあるようです。
    使用するには _LARGE_FILE_API の define が必要で、
    _LARGE_FILES が undef 。
    stat() を置換して 64bit 対応させるには、これを逆にする。

HP-UX)
    11.00 の man から
      POSIX標準の一部ではなく、将来は削除される可能性があります。 
      _LARGEFILE64_SOURCE によって定義され使用可能になります。
      _FILE_OFFSET_BITS が64の時にコンパイルされると32-bit
      applicationで大きいファイルを作成・アクセスできます。

solaris)
    5.7 では man に記述がみつかりませんが、ヘッダーをみる限り
    HP-UX と同じ define の組み合わせに見えます。


>  kernel は 2.0 以降で対応しているようですが、標準の ext2fs
> 自体が 2GB 超の file を作れないので、ext3fs や ReiserFS を使
> うことで初めて意味を持つことになるでしょう。
私は、 linux をはじめて install したのも、使用したのも
alpha マシンだったため、この辺りの感覚が狂っているようです。
(x86 系の linux が周りにきたのはつい最近)
ext2 ですが 2G 超のファイルが普通に作れてしまうので。