[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 05/09 22:40 / Filesize : 34 KB / Number-of Response : 91
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

音声可逆変換ソフト総合スレ



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/26(火) 01:50:03 ID:S1f4gspJ0]
です

39 名前:35 mailto:sage [2008/10/02(木) 14:50:01 ID:IqmyHboz0]
>>36-37
ソースは見ていないが、コマンドラインプログラムの方は、
標準 C 関数のみで書かれているだろうから、
そっちの方のファイル入出力関数の制限で 2G までかと。
標準 C 関数は、ものすごく古い時代に作成されたものだから、
ファイルサイズとかは int 型 が使われていて、
32bit OS なら 32bitのサイズ。32bit 符号付きだと、
最大値がちょうど2Gになる。(厳密には 2G -1)

64bit OS でコンパイルすれば、int 型は 64bit になるはずなので、
2GB を超えるサイズを扱えるようになる。

最近では、32 bit OS 用でも、64bit int への拡張版の
C 関数互換のファイル入出力が用意されている場合が多いが、
環境ごと(コンパイラごと)に、実装内容が違うため、
こういうクロスプラットフォームなプロジェクトでは使用されない場合が多い。

しかし、foobar で2G 越え扱えないのはすごく意外だなぁ。
もしかして、flac は、CLI encoder だったりするのかしら?
built-in プラグインなら別なのかな?


40 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/02(木) 17:16:12 ID:CJRFS13e0]
>標準 C 関数は、ものすごく古い時代に作成されたものだから、
>ファイルサイズとかは int 型 が使われていて、
処理系依存だよ。例えばLinuxはデフォルトだとoff_tはint32だが、
コンパイル時に_FILE_OFFSET_BITSマクロを64に定義するとint64になる。
OSXではデフォルトでoff_tがint64。
このあたりの違いはconfigureがよきにはからってくれる。

off_tがint64な処理系なら、基本的にstdioのfread/fwrite/fseekoだけで
問題なく2GB制限を突破できる。FLACのlarge file supportというのもこれ。






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<34KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef