[ruby-dev:49277] Re: [Ruby trunk - Feature #11558] Time related C APIs

From: Naohisa GOTO <ngoto@...>
Date: 2015-10-01 05:17:37 UTC
List: ruby-dev #49277
On Wed, 30 Sep 2015 18:03:09 -0400
KOSAKI Motohiro <[email protected]> wrote:

> まず、time_tが32bitなOSって、いまどのくらい残ってるのでしょうか。わたしの認識だとLinuxとWindowsが
> 問題ありで、BSDが解決済みだったのですが、あってます?

Solaris 10 のデフォルト(32bitコンパイル)では time_t は signed 32bit のままです。
過去とのバイナリ互換性維持のため、おそらく Solaris 11 も同様だと思います。
64bitでコンパイルすれば自動的に signed 64bit になります。

LargeFileの場合と異なり、32ビット用過渡的措置は特に無いようで、
ヘッダファイルで単純に typedef long time_t されていて、
ILP32では32bitに、LP64では64bitになるだけのようです。

> 前にAkrさんが調べてた気がしたのですが、簡単にぐぐった限りでは見つけられませんでした。

このPDFでしょうか?
http://www.a-k-r.org/pub/sapporo-rubykaigi-02-akr-2009.pdf

他に古い情報を見つけましたが、time_tの問題点自体は当時から変わっていないと思います。
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=time_t

-- 
後藤 直久  [email protected]

In This Thread