関連サイト
本書の関連ページが用意されています。
内容紹介
本書はひととおりのプログラミング&開発手順を、手を動かして体験できる書籍です。C言語プログラミングと開発に深く関わるツール類の学習を交互に進めていきますので,開発を行う際の実際の手順をひととおり知ることができます.同時進行で習得すれば理解もしやすいはずです.
初心者の方でも気軽に学習可能なように,必要開発ツールがインストールされたLinux(CentOS)の仮想マシン(VM:Virtual Machine)イメージをサポートサイトで無償配布します.「Oracle VM VirtualBox」や「VMware Player」上に読み込めばすぐ学習をスタートできます.
Linux(CentOS)でのシェル操作,nano/viテキストエディタの操作,gitによるソースコード管理,makeによる作業の自動化,diff/patchによるソースコードの管理,gdbデバッガによる動作の確認,分割コンパイル&リンク,アーカイブツールによるソースコード配布など,盛りだくさんです.
C言語はソフトウェア開発やOS開発,組込み分野などで広く利用されているプログラミング言語で,それに加えセキュリティ分野においても,C言語を通じた低レイヤー学習も見直されているようです.他のプログラミング言語の学習と並行してC言語に触れておくことの意義は十分にあると言えるでしょう.
さまざまな開発ツールの使い方をマスターしながら,C言語プログラミングと一連の開発手順を覚えていこう.
書誌情報
- 著者: 坂井 弘亮
- 発行日: 2014-08-28 (紙書籍版発行日: 2014-08-28)
- 最終更新日: 2014-08-28
- バージョン: 1.0.0
- ページ数: 340ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
坂井 弘亮
幼少の頃よりプログラミングに親しみ,趣味での組込みOS自作,アセンブラ解析, イベントへの出展やセミナーでの発表などで活動中。代表的な著書は『12 ステップで作る 組込みOS自作入門』(カットシステム)、『31バイトでつくるアセンブラプログラミング -アセンブラ短歌の世界-』、『0と1のコンピュータ世界 バイナリで遊ぼう!』(マイナビ、共著)。セキュリティ&プログラミングキャンプ(現セキュリティ・キャンプ)講師(2010年~)技術士(情報工学部門)。
目次
[準備編1] ― VMとCentOS
1章 「体験」のための準備をしよう
- 1.1 「コンパイラ」を知ろう
- 1.2 VM(Virtual Machine)を知ろう
- 1.3 VMを使ってみよう
- 1.4 CentOSにログインしよう
- 1.5 パスワードを変更してみよう
- 1.6 スーパーユーザになってみよう
- 1.7 まとめ
[準備編2] ― コマンド操作
2章 シェルの操作を覚えよう
- 2.1 CUIでのコマンド操作に慣れよう
- 2.2 ファイルを操作してみよう
- 2.3 まとめ
[準備編3] ― コマンド操作
3章 さまざまなコマンドを覚えよう
- 3.1 ファイルをビューワで見てみよう
- 3.2 「リダイレクト」と「パイプ」を使ってみよう
- 3.3 色々なコマンドを使ってみよう
- 3.4 まとめ
[ツール編1] ― nanoエディタ
4章 テキストエディタを使ってみよう
- 4.1 エディタ「nano」を使ってみよう
- 4.2 viエディタも使ってみよう
- 4.3 まとめ
[C言語プログラミング編1] ― 文字列の出力
5章 C言語に入門しよう
- 5.1 簡単なプログラムを書いてみよう
- 5.2 プログラムを改造してみよう
- 5.3 文字列出力で遊んでみよう
- 5.4 機械語を見てみよう
- 5.5 まとめ
[ツール編2] ― screenコマンド
6章 複数のスクリーンを使おう
- 6.1 screenコマンドで複数のスクリーンを開こう
- 6.2 文字列をコピーしてみよう
- 6.3 まとめ
[C言語プログラミング編2] ― 変数
7章 変数を使ってみよう
- 7.1 変数を使うプログラムを書いてみよう
- 7.2 計算をさせてみよう
- 7.3 まとめ
[ツール編3] ― diff/patchコマンド
8章 パッチを作ってみよう
- 8.1 diffコマンドでファイルの差分を見てみよう
- 8.2 patchコマンドでパッチを当ててみよう
- 8.3 まとめ
[C言語プログラミング編3] ― if文
9章 条件分岐をしてみよう
- 9.1 if 文での条件分岐を試してみよう
- 9.2 まとめ
[ツール編4] ― gitコマンド
10章 ソースコードを管理しよう
- 10.1 gitリポジトリを作成してみよう
- 10.2 ファイルを元に戻してみよう
- 10.3 ファイルを更新してみよう
- 10.4 まとめ
[C言語プログラミング編4] ― while/for文
11章 ループを使ってみよう
- 11.1 while文でのループを試そう
- 11.2 for文でのループを試そう
- 11.3 まとめ
[ツール編5] ― GDB
12章 デバッガで動作を追ってみよう
- 12.1 GDBを使ってみよう
- 12.2 デバッガの機能を活用してみよう
- 12.3 まとめ
[C言語プログラミング編5] ― 配列
13章 アルゴリズムを考えてみよう
- 13.1 「ソート」のアルゴリズムを考えてみよう
- 13.2 完了を検出できるようにしよう
- 13.3 まとめ
[ツール編6] ― makeコマンド
14章 コンパイルを自動化してみよう
- 14.1 makeコマンドを使ってみよう
- 14.2 Makefileを整備しよう
- 14.3 Makefileで変数を利用してみよう
- 14.4 フリーソフトウェアをコンパイルしてみよう
- 14.5 まとめ
[C言語プログラミング編6] ― 関数
15章 関数を使ってみよう
- 15.1 ソート処理を関数化してみよう
- 15.2 GDBで関数の呼び出しを追ってみよう
- 15.3 関数を多段に呼び出してみよう
- 15.4 まとめ
[ツール編7] ― Perl
16章 スクリプト言語を書いてみよう
- 16.1 Perlで「ハローワールド」を書いてみよう
- 16.2 Perlでソートのプログラムを書いてみよう
- 16.3 Perlのプログラムを改良しよう
- 16.4 まとめ
[C言語プログラミング編7] ― 分割コンパイル
17章 ソースコードを分割しよう
- 17.1 ライブラリにしてみよう
- 17.2 さらに分割を進めよう
- 17.3 まとめ
[ツール編8] ― zipコマンド
18章 アーカイブにして配布しよう
- 18.1 ZIPフォーマットでアーカイブしてみよう
- 18.2 配布形態に仕上げよう
- 18.3 まとめ