#navi_header|C言語系|
* 参考書籍
[[405]]と重複しますが、C言語を基本としてLinux/UNIX/Windowsでのプログラミングを勉強するのに読んだ本などを。
- 三田典玄著の「入門C言語」「実習C言語」:これでポインタを半分ほど理解できました。
-- &amazon() {入門C言語 (スマート・スタディ・シリーズ), 三田典玄
}
-- &amazon() {実習C言語 (スマート・スタディ・シリーズ), 三田典玄
}
- 藤原博文著でC言語の実用レベルを理解できた本。あわせて、ポインタの残り半分ほど理解できたと思います。
-- &amazon() {Cプログラミング診断室―さらに美しく健康的なプログラムのために
}
-- &amazon() {Cプログラミング専門課程
}
- &amazon(){エキスパートCプログラミング―知られざるCの深層 (Ascii books)
}
-- "配列"と"ポインタ"が、どのような時に同じものとして扱われ、どのような時に別物として扱われるのかを厳密に知ることができます。
-- これも藤原博文氏の著書と「併せて読みたい」一冊です。サン・マイクロシステムズのコンパイラチームで働いていた著者ならではのディープな考察や解説に満ちあふれています。
-- typedef, リンク, ロード, インターポジショニング, a.outの歴史, セグメント, auto/static, setjmp/longjmp, スタックフレーム, x86のメモリモデル, バスエラー(bus error), K&RとANSIでのプロトタイプ宣言の違い、などなど、機械語(アセンブラ)やOSとの境界線の話も盛りだくさん。
-- ただし、UNIXプログラミングの例などが若干時代遅れになっているのでそこだけ注意です。
- C++を勉強する時に読んだ本。「かんたんC++」→「独習C++」の順に読んだけど正解だったと思う。「かんたんC++」が増刷されておらず、中古でしか入手できなくなっているのが残念。
-- &amazon() {かんたんC++
}
-- &amazon() {独習C++
}
あと、Amazon上で見つからなくて残念なのですが「独習C++」の著者であるハーバート・シルト氏による「Windows32 API プログラミング入門」(正確なタイトル失念)にもお世話になりました。当時はC++Builderの世界しか知らなかったので、Windows32APIでごりごりウインドウを作ったりメニューを作ったりダイアログを表示したりして、イベントループを書いたりなど、大変勉強になりました。
「猫でも分かる」シリーズが出たり、仕事がLinuxやJava中心にシフトした事もあって本は手放してしまいましたが、大学時代にあの本を読み込んだ経験は無駄にならないどころか、VBの仕事でも生きてきたりとそれなりに活躍してます。
- &amazon() {C言語によるUNIXシステムプログラミング入門
}
-- カスタマレビューにもありますがサンプルコードで若干warningやヘッダファイル絡みのミスがあったり、シグナルの説明がANSI-Cのsignal()関数だけで、sigaction()系が載っていないなど不満もあります。今、他人に奨められるかと言われたら難しいかも知れません。
-- とはいえ、自分自身はこの本でLinux/UNIXプログラミングにすんなりと入り込む事ができましたので、ここに載せておきます。
- &amazon() {Advanced Programming in the UNIX(R) Environment (2nd Edition) (Addison-Wesley Professional Computing Series)
}
-- 「詳解 UNIXプログラミング」の原著です。お仕事上や趣味のプログラミングなどで、どうにもLinuxのjmanやmanページだけではにっちもさっちも行かなくなった時などに紐解く、追いつめられた時の最終兵器として使ってます。あんまり出番無いですが、出る時は威力絶大で助かります。
- &amazon() {Inside Linux Software オープンソースソフトウェアのからくりとしくみ
}
-- Autoconf/Automake/LibtoolなどLinuxを支えるGNUツールを、サンプルを交えて詳解しつつ、manページやtexi, DocBook、さらにはdiff, patch, rpmパッケージまで網羅していながらコンパクトにまとめられている希有な書籍だと思います。というかこの本でようやく、autotools系の動きを把握できました。
-- 昨今はJVM上で動く言語や"yum"/"apt"でさくっと入れられるスクリプト言語ばかりになってきましたが、それでも"./configureって何してるんだろう?"って疑問に思った人はこの本を読んでみると良いかもしれません。
- &amazon() {作りながら学ぶOSカーネル―保護モードプログラミングの基本と実践
}
-- 出会えて助かった一冊ですが、後半はサンプルコードが巨大化しすぎて辛い。「はじめて読む486」と併せて読んで何とか追いつけました。
- &amazon() {はじめて読む486―32ビットコンピュータをやさしく語る
}
-- いやホント、助かりました。
* 参考URL
- Wataru's memo
-- http://memo.wnishida.com/
- 日本語版 skyfree.org
-- http://www.skyfree.org/jpn/index.html
- Shinta's Top
-- http://www.gadgety.net/shin/
- C++: language&libraries
-- http://ml.tietew.jp/cppll
- 猫でもわかるプログラミング
-- http://homepage2.nifty.com/c_lang/
* コンパイラ, DOS環境など
- Borland C++ Compiler
-- CUIでのフリーのC/C++コンパイラ。
-- '''数年間隔で社名やURLが変わるので、URLは記載せず'''
- FreeDOS | The FreeDOS Project
-- http://www.freedos.org/
- DJGPP
-- GNU開発ツール(GCC, binutils)のDOSポーティング
-- http://www.delorie.com/djgpp/
- Main Page - Open Watcom
-- FreeDOSの推奨開発ツール(C, C++, Fortran)
-- http://www.openwatcom.org/index.php/Main_Page
1997-2003年、高校~大学にかけてはBorland C++ BuilderやC++ Compilerに大変お世話になったのだけれど、VisualStudioが"Express"エディションとして無償提供される事になり、やはり昨今は素直にVisualC++のExpressエディションか、Linux/UNIXのGNU開発ツールで勉強する人が増えているのだろうか・・・。
#navi_footer|C言語系|