はりぼて日記
3月 24 (土曜日) 2007 | ||
23:48
|
4日目4
|
|
P89。
むむ? 一瞬、 「え〜? なんで eflags=io_loadeflags(); なんて処理してんだよぉ。イジるのは第9ビットだけじゃん。そんなの、andやorでやればいいのにわざわざ変数に丸ごと記憶なんてさぁ。ふっ!Kもヤキが回ったかな?」 なーんて生意気なこと思ったのですが・・・ ''あ〜〜〜〜!''オイラ馬鹿だ!そうだよ!そもそもCにはレジスタそのものを、しかもレジスタ内に読み込む命令なんてねーーーじゃん!!」 ・・・と、こういうお恥ずかしいことに気がつきました・・・ ちなみにこういうの、オイラのお仕事の業界では「知ってるボケ」と言います。 人間、まったくの素人の時は、まずそもそも「発想」をするほど知識がありませんし、また解らないことが恥ずかしいとも考えています。さらに、解らないんだからよく勉強しなきゃ!とも考えます。 ・・・しかし、少し解ってくると、やたら「ちょっと知っている」ことがカッコイイこと、エライことだと錯覚を起こし始めます。さらに、なまじっか知識が身についてくると「発想」を行う材料がそろって来るためか、「発想・判断」をしようしようと考えるようになります。(これが落とし穴!!) 自動車の運転なんかでもありますよね?「免許取って一年間は、コスるアテるはあっても事故は起こさない。一番事故を起こすのは、1年目以降だ!」みたいな。 変に手馴れるをしないようにしてかないと。勉強なんですから。 |
||
23:14
|
4日目3
|
|
・・・ふむ!
しかし、多くのCの教科書では、やっぱり char a[10] は配列だとしているなぁ。 こんなことしてみた。
これがおかしいのはよーく理解できるけど、なんと、これ、まったくエラーなく通ってしまったんだよねコンパイル・・・ こういう整理でいいのかな??
この理屈だと、上記のヘンテコなくせにエラーが出ないのも解る。
はっはぁ・・・・これなら筋は通るんじゃないかな??? |
||
22:54
|
4日目2
|
|
22:00
|
4日目
|
|
4日目〜。
うーん。P71のforの解説のところ。ループ変数の初期化(i=0xa000)の部分だけど、「ここだけはいかなる場合も実行されると・・・ で、forの内部( {}の中 )は、条件次第では一度も実行されないこともあると。 これちょっとおもしろいな。ほんとかどうかためしてみよう!(あ〜・・・また脇道にそれてしまった・・・こういうのが好きなのかなオイラは・・・) たとえばこんな関数を妄想。
実行すると、「date is 5、Loop is 5」と表示される。つまり、{}の内部は5回繰り返されているよね? これを意地悪して、for(i = 0;i = 0;i=i++) なんてしちゃう。 これだと、一回もループしないで終わっちゃうはず。結果は・・・ 「date is 0、Loop is 0」 なあるほど!。iiが一回もループしてないから0のまま。でも、iはこの時点で0になってるよね。(初期値の123からちゃんと書き換えられている) |
||
21:03
|
3日目
|
|
3日目まで終了〜。
しっかしそれにしても、この3日目の最後。アセンブラで関数を作っちゃってそれをCから呼ぶ。なんたってこれがすごい!。 (これをこういうふうに説明することにどれほどの価値があるのか理解できる人は少ないんじゃないかな・・・) |
||
16:05
|
2日目
|
|
あっれぇぇ????
P36界隈の「桁指定」の理解と整理がどうもオイラあやしいぞ・・・ (うはー。なんて初期な部分で・・・なっさけね〜) そんなわけでもう一度ここで整理・・・ あークソ。やっぱオイラの理解はちょっとおかしい!(これじゃ間尺に合わん!) |
||
16:02
|
1日目
|
|
おっしゃ。ここはトントン〜と進んで・・・
|
||
14:02
|
0日目
|
|
0日目〜。
さすがにここはサラリと流すつもりだったけど、いざ読んでみると改めて「なるほど!」と思うことも実に多いですねぇ〜。 たとえばP8。「最適化がアダとなることもあります」。これ、もちろん最初の時も読んでたはずなんだけど、たぶん意味がわからなかったので頭に残ってなかったんだろうなぁ。(そう!概念や抽象論ではなく、「実際に」アダになった例を一度見てますからねぇ。コッチは。)(^^ |
||
(1)  |
PopnupBlog V3 Denali created by Bluemoon inc. |