Documentation Home
> Solaris 64 ビット 開発ガイド
Solaris 64 ビット 開発ガイド
Book Information
索引
数字・記号
A
D
E
G
I
L
O
P
S
U
か
こ
し
せ
そ
た
て
は
ひ
ふ
へ
ほ
ら
り
はじめに
第 1 章 64 ビットコンピューティング
4G バイト境界を超える
「大きなアドレス空間」以外の利点
第 2 章 64 ビットの使用方法
主な特徴
大容量仮想アドレス空間
大規模ファイル
64 ビット演算
特定のシステム制約の解消
相互運用性の問題
カーネルメモリーを参照するプログラム
/proc の制約
64 ビットライブラリ
変換作業
第 3 章 32 ビットと 64 ビットインタフェースの比較
アプリケーションプログラミングインタフェース
アプリケーションバイナリインタフェース
互換性
アプリケーションバイナリ
アプリケーションソースコード
デバイスドライバ
どちらの Solaris オペレーティング環境が実行されているか
プログラミング例
第 4 章 アプリケーションの変換
データ型モデル
単一ソースコードの実装
派生型
<sys/types.h>
<inttypes.h>
固定幅整数型
uintptr_t とその他の有用なデータ型
定数マクロ
制限値
書式文字列マクロ
ツール
lint(1)
LP64 への変換のためのガイドライン
int と ポインタが同じサイズであると仮定しない
int と long が同じサイズであると仮定しない
符号の拡張
アドレス演算の代わりにポインタ演算を使う
構造体の再構成
共用体のチェック
定数の型指定
暗黙的宣言について
sizeof は unsigned long である
意図を示すためにキャストを使う
書式文字列の変換をチェックする
その他の考慮事項
サイズが拡大した派生型
変更による副作用をチェックする
long を使用する意味があるかどうかチェックする
明示的な 32 ビット対 64 ビットプロトタイプのために #ifdef を使う
呼び出し規約の変更
アルゴリズムの変更
チェックリスト (64 ビットに変換する前に)
第 5 章 開発環境
構築環境
ヘッダー
コンパイラ
ライブラリ
リンク処理
LD_LIBRARY_PATH
$ORIGIN
パッケージ処理
ライブラリとプログラムの配置
パッケージ処理のガイドライン
アプリケーション命名規則
ラッパー
/usr/lib/isaexec
isaexec()
デバッグ処理
第 6 章 上級者向けトピック
アプリケーションに関する新しい情報
64 ビット: ABI の特徴
ABI の特徴: SPARC V9
スタックバイアス
アドレス空間の配置 : SPARC V9
テキストおよびデータの配置
コードモデル
プロセス間通信
ELF とシステム生成ツール
/proc
libkvm と /dev/ksyms
libkstat
stdio への変更
パフォーマンスの問題
64 ビットアプリケーションの長所
64 ビットアプリケーションの短所
システムコールの問題
EOVERFLOW の意味
ioctl() に関する注意
付録 A 派生型の変更
付録 B よく尋ねられる質問 (FAQ)
© 2010, Oracle Corporation and/or its affiliates