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環境での実験

まと

●コラム目次

コラム1 codethenspec

コラム2 ソースコードは嘘をつかない

コラム3 品質に最も影響するもの

コラム4 私の仲間達

PR

秀和システム