プログラムを 64 ビットのオペレーティング環境で動作するようにコンパイルすると (つまり、-m64 でコンパイルし、64 ビットの SPARC または x86 プラットフォームで実行可能ファイルを実行すると)、特定の関数の戻り値が変更されます。この特定の関数は、通常、malloc(3F) (「1.4.35 malloc、malloc64、 realloc、free: 記憶領域の割り当て/再割り当て/割り当て解除」参照) などの標準システムレベルのルーチンとのインタフェースとなり、その環境に応じて 32 ビット値または 64 ビット値をとったり、戻したりできます。32 ビットと 64 ビット環境間でコードに互換性を持たせるために、これらのルーチンの 64 ビットバージョンは、必ず 64 ビット値をとるまたは戻す (あるいはこの両方を行う) ように規定されています。次の表に、64 ビット環境で使用するために提供されたライブラリルーチンを表示します。
表 1–1 64 ビット環境向けライブラリルーチン
関数 |
内容の説明 |
---|---|
malloc64 |
メモリーを割り当て、ポインタを戻す |
fseeko64 |
大規模ファイルの再位置付け |
ftello64 |
大規模ファイルの位置付け |
stat64, fstat64, lstat64 |
ファイルの状態を決定する |
time64,ctime64,gmtime64,ltime64 |
システム時間を取得し、文字に変換するか月、日などに分解する |
qsort64 |
配列の要素をソートする |