Cプログラミング専門課程

見える、メモリの中身が見えるぞ!

厄介なバグの症例と対策を解説した、極めて実践的な一冊。

プログラミングの「常識」が分かります。

特にメモリ関係の解説が大変優れています。
文字列処理、malloc、そしてポインタ等で苦しんだ人にオススメです。

入門書が終わったら、ぜひ本書を読んで「メモリを見抜く能力」を身に付けて欲しいですね。

メモリという地雷原を行く

本書はバグを通じて、正しいプログラミングを学べるようになっています。

C言語は便利で強力な反面、ミスを起こしやすい仕様もあり、時として厄介なバグを生み出します。

そして究明に手こずり、残業する羽目になり、ストレスで暴飲暴食し、健康診断でヤバい数値がでると…

さて本書の特筆すべき点として、メモリ関連の解説がとても充実しています。

なんというか、C言語ならメモリの話は切っても切れないですね。

C言語はフリーダムな仕様につき、良くも悪くも、メモリをやりたい放題できます。

だからうっかり素人が使うと、それはそれは恐ろしい事が起こります。
例えるなら、3歳児にRPGを持たせるようなものです。

私が学生の頃、クラスメートのA君は課題のプログラムで、先生のWindows98を壊しました。

本人に悪意はなく、メモリの処理がバグまみれだったせいです。

本当メモリは地獄だぜフハハハ

メモリに起因するバグは、C言語の宿命です。
叫びながら例を挙げると…

領域破壊!メモリリーク!
キャスト地獄!格上げ爆死!

文字列ファ○○!アライメントぶち込み!
おまけにバイトオーダー戦争!
(※管理人の妄想です)

本書ではこいつら全部はもちろん、多彩なバグを扱ってます。

そして我々人類が、強敵バグに立ち向かう手段は、ただ一つしかありません。

それは、メモリマップを理解すること、です。

切り札はメモリマップ

メモリマップとは、メモリ内部の様子を図解したものです。
メモリマップを見ると「どのアドレスにどんな値が入っているか」がよく分かります。

さて本書は、厄介なバグ共を、こちらが恐縮するくらい丁寧なメモリマップを描いて解説してくれます。

これが、とてもありがたい!

メモリマップ
本書196ページより

こうやってメモリ内部のイメージが掴めるようになれば、プログラミング中でも

「あ、これだとマズイかも!」

気付く能力が高まり、バグの発生をガードできます。

カオスを超えてシンプルが近づく

入門書の内容はやったけど、まだC言語がなんか怖いものに見える…

そんな人に、本書はオススメです。

メモリ内の様子が分かれば、混沌が支配していた世界に秩序が見えて来ます。

ウィザードリィで言うと、不確定名「正体不明の存在」にビビらなくなります。

プログラミングは徹頭徹尾に論理的なので、ルールさえ分かれば
意外にシンプルだと思えてきますよ。

Cプログラミング専門課程

10

分かりやすさ

10.0/10

情報量

10.0/10

コストパフォーマンス

10.0/10

サンプルソース

10.0/10

Points

  • 正しいプログラミングスタイルが身に付く
  • メモリの中身が見える
  • 色んな種類のバグを知る
  • 丁寧なメモリマップ
  • シンプルなソースコード

Notes

  • ザ・中級者向けです

Kuniaki Ebata 登録者

大学中退(文系)の専門卒 日本で唯一のプログラミング書籍評論家 プログラマーで現役のスキー国体選手です 頭と体を動かすのが大好きなフレンズなんだね 専門学校で先生もやってます プログラミングは21歳から 貴族じゃない独身 持病:重度うつ病(薬とサポートのおかげで何とか生きてます) 教え子をゲーム業界へどんどん送り込み、世界を面白くする野望を実現中 プログラミングが上達するメルマガやってます ここを見たゲーム業界の卒業生へ 新作が出たら、連絡するか現物を送ってくれると嬉しいです ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ) このページが参考になった方へ ぜひSNSやブログでシェアして欲しいです お願いします(少し上にボタンあります) 最近Google先生が中身の無い「いかがでしたか?」サイトを優遇するので困っています助けて下さい(>_<) シェアしてくださった方には 小冊子 プログラミング書籍が10倍わかる読み方(pdf) を差し上げます こちらからご報告頂くか、こっそりDMを送って下さい