Architect Note


しがないPHPerのブログ

やり直しC言語:複雑な宣言の読み方

C言語は宣言文が非常に読みにくいことで有名で、後発のGo言語はこれを批判して宣言の構文を変えています。私もずっと読むのが苦手だったのですが、私の頭が悪いのではなく、C言語の仕様がヘン、ということらしい。 今まで飽きるほどこの手の解説は書かれてきてるわけですが、自分なりにまとめないと覚えた気がしないので、あえてまとめておきます。ここに書いてある内容は、「C言語ポインタ完全制覇」に詳しく書いてあります。 型の派生 C言語では、int, char, floatなどの基本型..


ひとりNand2Tetris(3) ーメモリを手に入れた

Nand2Tetrisもくもく昨日の続き。 ついに値を記憶するRAMが出来上がります。ALUとメモリがあれば、これで次の何かが作れそうですね。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 3章 順序回路 フリップフロップというチップがいきなり出てきて、これは使って良いものとして話が進みます。Nandがあればできるらしいですが、詳細は割愛されていました。 nand2tetris-memo/03 at master ・ hirak/na..


ひとりNand2Tetris(2) - ALUまで

Nand2Tetrisもくもく昨日の続き。予想はしていたけど、シルバーウィーク中の読了は無理っぽいね。。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 2章 ブール算術 加算回路を作成して、もっと汎用的に様々な計算が可能なALU(Arithmetic Logic Unit)を作成します。 もうそろそろ絵を書くのは無理な感じ。 nand2tetris-memo/02 at master ・ hirak/nand2tetris-mem..


ひとりNand2Tetris(1) -NANDから他のゲートを作る

シルバーウィークは特にやることもないので、ひたすら「コンピュータシステムの理論と実装」を写経することにしました。NANDゲートだけ与えられた状態から、CPUを作りコンピュータを作りOSを作り、最終的にTetrisのようなゲームを動かすところを目指すというコンセプトの教科書です。通称"Nand2Tetris"。まだ一章を読み終わったところ。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 付属のJava製シミュレーターをインストールして、あくま..


やり直しC言語:インターポジショニングによるtime(3)のスタブ化

C言語の本を久しぶりに読み返しているのですが、インターポジショニング(interpose, interposition)なる言葉を初めて知ったのでメモです。 「C標準ライブラリ関数などをローカル定義の関数で上書きできてしまう」というお話です。うっかりやらかすとバグの温床になるのですが、うまく使えばユニットテストのスタブとして便利そう。 time関数についておさらい 例として思いついたので、time(3)を上書きしてみます。 time(3)は現在時刻をUNIX time..


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。