C言語による 実践Linuxシステムプログラミング
概 要
本書は、Linux環境でC言語をプログラムして動かす、サンプルプログラミング満載の実践書です。C言語によるプログラミングは、リソース消費量や実行速度を意識しながら開発を行なえる利点があります。そこで本書では、Linuxカーネル2.6に対応した最新環境に合わせてC言語によるシステムプログラミングについて解説しました。メモリ管理、ファイルシステム、ネットワーク、プロセス間通信、Unicodeをはじめとしたマルチバイト文字列処理、スレッドによる並行実行など、システムプログラミングの枠を網羅。また、実用アプリケーション「データ同期システム」の開発手順とソースを一興公開しました。著者Webサイトによるダウンロードサービス付き。
| 著者 | 小俣光之 |
| 価格 | 円(税込)(本体3000円) |
| ISBN | 978-4-7980-1814-0 |
| 発売日 | 2007/11/20 |
| 判型 | B5変 |
| 色数 | 1色 |
| ページ数 | 432 |
| CD/DVD | - |
| 対象読者 | 中級 |
| シリーズ | - |
目次
●Chapter1 ようこそC言語とLinuxの世界へ
1-1 Linuxの特徴
Linuxとは
Linuxと他のOS
Linuxの使い道
1-2 C言語の特徴
C言語とは
C言語の長所と短所
1-3 本書でのC言語記述のルール
概要
インデントの付け方
関数名・変数名
関数
goto文
ソースファイル分割
1-4 Linuxでの開発手順
開発環境の準備
開発手順
デバッグ
メモリデバッグ
1-5 プログラムの信頼性
概要
作ったときに確認する
サーバの必須条件(死なない)
まとめ
1-6 プログラムの高速化
概要
遅いプログラム
無駄なループ
メモリの消費
ツールによる速度検討
低CPU負荷の重要性
まとめ
●Chapter2 システムプログラミング入門
2-1 構造体・共用体・ビットフィールド
概要
構造体
共用体
ビットフィールド
まとめ
2-2 可変引数
概要
可変引数の用途
可変引数のプログラミング
まとめ
2-3 strtok()と2バイト文字の取り扱い
概要
strtok()関数
2バイト文字使用時の注意
サンプル
まとめ
2-4 strcpy()とstrcat()の安全化
概要
サンプル
まとめ
2-5 アドレスとポインタ
概要
アドレス
ポインタ
ポインタのポインタ
関数のポインタ
メンバアクセス演算子
まとめ
●Chapter3 メモリの利用
3-1 静的なメモリ割り当て
概要
配列のメリットとデメリット
サイズについての注意
確保場所についての注意
速度に対する注意
バッファオーバーフロー
まとめ
3-2 動的なメモリ割り当て
概要
動的割り当てのメリットとデメリット
動的なメモリ確保の使い方
動的なメモリ確保の注意
realloc()使用時の注意
realloc()で得られるアドレス
realloc()とmalloc()
まとめ
3-3 mmap()の使いかた
概要
サンプル
まとめ
●Chapter4 ファイル入出力
4-1 ディレクトリ内容の読み出し
概要
使用方法
サンプル
まとめ
4-2 freopen()の使いかた
概要
サンプル
まとめ
4-3 FIFO(名前付きパイプ)の使いかた
概要
使用方法
注意点
サンプル
まとめ
4-4 1バイト単位での文字入力
概要
サンプル
まとめ
4-5 動的行単位入力関数の作成
概要
サンプル
まとめ
4-6 ラージファイルの使いかた
概要
サンプル
まとめ
●Chapter5 ネットワーク
5-1 TCP/IPクライアントプログラム
概要
クライアントプログラム
参考
まとめ
5-2 TCP/IPサーバプログラム
概要
マルチクライアント・サーバ
まとめ
5-3 UDP/IPクライアントプログラム
概要
クライアントプログラム
まとめ
5-4 UDP/IPサーバプログラム
概要
サンプル
まとめ
5-5 高レベル関数群によるRPC
概要
サンプル
まとめ
5-6 低レベル関数群によるRPC
概要
サンプル
サーバの起動方法
クライアントの実行
まとめ
●Chapter6 プロセス
6-1 シグナルハンドラの使いかた
概要
サンプル
まとめ
6-2 スリープについて(シグナルの例)
概要
サンプル
まとめ
6-3 プロセスの起動と複製
概要
system()によるプロセス起動
popen()によるプロセス起動
fork()/exec*()/pipe()
まとめ
6-4 プロセスの終了と待機
概要
サンプル
まとめ
6-5 デーモン
概要
サンプル
まとめ
6-6 syslogの使いかた
概要
設定
サンプル
まとめ
6-7 共有ライブラリ
概要
サンプル
動的リンク
まとめ
●Chapter7 マルチスレッド
7-1 POSIXスレッドの使いかた
概要
サンプル
まとめ
7-2 ミューテックスによる排他
概要
サンプル
まとめ
7-3 マルチスレッドでのプロセス複製
概要
サンプル
まとめ
7-4 マルチスレッドでのシグナル
概要
サンプル
まとめ
●Chapter8 プロセス間通信(IPC)
8-1 共有メモリ
概要
使用方法
サンプル
まとめ
8-2 セマフォ
概要
サンプル
まとめ
8-3 メッセージキュー
概要
サンプル
まとめ
●Chapter9 日本語処理
9-1 iconvによる文字コード変換
概要
使用方法
サンプル
まとめ
9-2 ワイドキャラクタ(wchar)の取り扱い
概要
使用方法
サンプル
まとめ
●Chapter10 実践アルゴリズム
10-1 検索アルゴリズム
概要
線形サーチ
バイナリサーチ
ハッシュサーチ
まとめ
10-2 ワイルドカードマッチング
概要
サンプル
まとめ
10-3 プロトタイプ宣言生成ツール
概要
サンプル
まとめ
●Chapter11 データ同期システムの開発
11-1 プログラムの仕様
概要
目的
処理概要
前提条件
設定ファイル
通信プロトコル
11-2 共通ライブラリ
概要
ソケット関連
文字列処理関連
ログ関連
文字コード変換関連
ファイルロック関連
ビルド
11-3 配信側プログラム
概要
ソースファイル
ビルド
11-4 受信側プログラム
概要
ソースファイル
ビルド
11-5 送受信の動作例
概要
配信側の準備
受信側の準備
wlSyncCの起動(初回)
wlSyncCの起動(2回目・データ変更なし)
wlSyncCの起動(3回目・データ変更あり)
wlSyncCの起動(4回目・ファイルの追加と削除あり)
IPv6環境での実験
まと

