C言語によるスーパーLinuxプログラミング

「C言語によるスーパーLinuxプログラミング」の編集履歴(バックアップ)一覧はこちら

C言語によるスーパーLinuxプログラミング」(2011/09/17 (土) 23:55:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*第I部 基礎編:実践的Cプログラミングの学習 **第1章 なぜいまCなのか? **第2章 Ubuntuが提供する学習環境 -パッケージ管理システム --Red Hat系 rpm形式 / Debian系 deb形式 / FreeBSD ports形式 / Soralis pkg形式 --Ubuntuパッケージ管理用コマンド ---dpkg / apt-get / aptitude --管理ソフトウェア Synaptic **第3章 大規模プログラミングとライブラリーの利用 -ヘッダーファイルをCとC++兼用する記述例 --C++からC言語のコードを利用する時には、C言語の関数を明示するために、extern "C" { ... } で囲む必要がある。 /* Guard C code in headers, while including them from C++ */ #ifdef __cplusplus # define G_BEGIN_DECLS extern "C" { # define G_END_DECLS } #else # define G_BEGIN_DECLS # define G_END_DECLS #endif **第4章 プログラミングの移植性 -事前定義済みマクロの一覧 --$echo | cpp -dM -Autotoolset さまざまな環境に対応したビルド手順を簡単にする --./configure -> make -> make install フローを作成 ---configureスクリプトがソフトウェアを構築する環境情報を自動で集め、その環境にあったMakefileを作成 -- aclocal, autoheader, autoconf, automake ツール使用 -CMakeツール --WindowsやMacOSXもサポート **第5章 ライブラリの特徴と活用時の注意点 -静的リンクと動的リンク --静的リンク・ライブラリ --- *.a --共有ライブラリ ---*.so --gccで静的リンク利用 ---ビルド時に-staticオプションを使用 $gcc pgm.c -o pgm -static --動的リンク ---プログラム実行直前に、ld.soまたはld-linux.soという動的リンカにより、ライブラリへリンクされ実行可能にする。 --動的ローディング ---動的リンクの特殊ケース ---次の手順で実現 ----dlopen()で対象とするオブジェクトファイルを開く ----dlsym()でそのから実行したい関数へのポインタを習得 ----その関数ポインタで示されるコードを呼び出す -ライブラリ利用時の落とし穴 --API変更 ---実行時にリンクする共有ライブラリで後方互換性を確保するため、sonameという仕組みが用意 ---ライブラリーをアップデートした時に、sonameの仕組みを活かして整合性を保つには、管理者権限でldonfigを実行 --ライブラリーで使用できるシンボルはnmコマンドで確認可能 *第II部 活用編:さまざまなライブラリーを利用したプログラミング **第6章 オプション解析 **第7章 データの取扱い **第8章 データベース・アプリケーション **第9章 ネットワーク **第10章 科学技術計算 **第11章 画像データ処理 **第12章 GUIプログラミング **第13章 コンピュータグラフィックス **第14章 デバイスのアクセス **第15章 エンコードとデコード、文字列の解釈 **第16章 テスト手法 *第III部 実践編:プログラミング開発事例
*第I部 基礎編:実践的Cプログラミングの学習 **第1章 なぜいまCなのか? **第2章 Ubuntuが提供する学習環境 -パッケージ管理システム --Red Hat系 rpm形式 / Debian系 deb形式 / FreeBSD ports形式 / Soralis pkg形式 --Ubuntuパッケージ管理用コマンド ---dpkg / apt-get / aptitude --管理ソフトウェア Synaptic **第3章 大規模プログラミングとライブラリーの利用 -ヘッダーファイルをCとC++兼用する記述例 --C++からC言語のコードを利用する時には、C言語の関数を明示するために、extern "C" { ... } で囲む必要がある。 /* Guard C code in headers, while including them from C++ */ #ifdef __cplusplus # define G_BEGIN_DECLS extern "C" { # define G_END_DECLS } #else # define G_BEGIN_DECLS # define G_END_DECLS #endif **第4章 プログラミングの移植性 -事前定義済みマクロの一覧 --$echo | cpp -dM -Autotoolset さまざまな環境に対応したビルド手順を簡単にする --./configure -> make -> make install フローを作成 ---configureスクリプトがソフトウェアを構築する環境情報を自動で集め、その環境にあったMakefileを作成 -- aclocal, autoheader, autoconf, automake ツール使用 -CMakeツール --WindowsやMacOSXもサポート **第5章 ライブラリの特徴と活用時の注意点 -静的リンクと動的リンク --静的リンク・ライブラリ --- *.a --共有ライブラリ ---*.so --gccで静的リンク利用 ---ビルド時に-staticオプションを使用 ----$gcc pgm.c -o pgm -static --動的リンク ---プログラム実行直前に、ld.soまたはld-linux.soという動的リンカにより、ライブラリへリンクされ実行可能にする。 --動的ローディング ---動的リンクの特殊ケース ---次の手順で実現 ----dlopen()で対象とするオブジェクトファイルを開く ----dlsym()でそのから実行したい関数へのポインタを習得 ----その関数ポインタで示されるコードを呼び出す -ライブラリ利用時の落とし穴 --API変更 ---実行時にリンクする共有ライブラリで後方互換性を確保するため、sonameという仕組みが用意 ---ライブラリーをアップデートした時に、sonameの仕組みを活かして整合性を保つには、管理者権限でldonfigを実行 --ライブラリーで使用できるシンボルはnmコマンドで確認可能 *第II部 活用編:さまざまなライブラリーを利用したプログラミング **第6章 オプション解析 **第7章 データの取扱い **第8章 データベース・アプリケーション **第9章 ネットワーク **第10章 科学技術計算 **第11章 画像データ処理 **第12章 GUIプログラミング **第13章 コンピュータグラフィックス **第14章 デバイスのアクセス **第15章 エンコードとデコード、文字列の解釈 **第16章 テスト手法 *第III部 実践編:プログラミング開発事例

表示オプション

横に並べて表示:
変化行の前後のみ表示: