Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / www.tom-yam.or.jp (2)

  • 私は如何にして心配するのを止めてUNIXカーネルを愛するようになったか

    Most pages here are written in Japanese. Some pages are in English. UNIXカーネル(第6版) ソースコードには 「You are not expected to understand this.」 (これがわからなくてもべつにかまわない)という木で鼻をくくったようなコメントがある。 Jargon Dictionaryの見出し語にもあるように、UNIXに関するきわめつけの逸話である。 Lionsとよばれる後述の注釈では2238行に位置するこのコメントに対応する部分を理解すると「2238クラブに入れる」との記述がある。 ちょっと注意 このページは UNIXをひととおり使える C言語でプログラムが組める アセンブラも多少は何とかなる 必要とあらば英語の文献を読むこともいとわない をすべてみたす人を読者に想定している。 部分

  • C

    C言語 Version 6のUNIXのソースコードは「pre K&R」とよばれる古いCで記述されている。 現在のCの知識でだいたいはわかるが、理解に苦しむ個所もある。 うるさいことを言えば当時のリファレンスマニュアルを参照して、 当時の文法に親しむのが正攻法であろう。 が、とりあえず「これだけわかっていればソースは読める」というところだけ、 てっとりばやくまとめておこう。 構造体のポインター なかでも衝撃的なのは、 構造体のポインターからメンバーを参照する演算子「->」が自由に使えることである。 たとえば、slp.cから関数setpri()を見てみると setpri(up) { register *pp, p; pp = up; p = (pp->p_cpu & 0377)/16; p =+ PUSER + pp->p_nice; if(p > 127) p = 127; if(p > c

    tyru
    tyru 2010/03/31
    古いpre K&Rと呼ばれるCについて
  • 1