アクマくんにお願い:最新 5 日分

Last-modified: Tue, 05 Feb 2002 01:55:42 JST

[static,style:furuta,jconv:jcode,cache:on]
powered by tds-Tomsoft Diary System 1.01-beta0


[トップ(一覧)] [最新版] [<<前月] [今月] [翌月>>]

2002年02月04日(月)

rcsview

なんか、へんなものができた(いや、まだ全然できてはいないのだが) ので、ちと公開してみる。

rcsview のページ


2001年01月26日(金)

static versus auto

その「static はプログラム終了するまでずっとメモリに残りつづけるから 綺麗とは言えない」 という主張は根本的に誤解してますよ。「auto の方もプログラム終了するまで、 (本質的に同等以上のデータが)メモリに残り続けます」

auto 変数というのはスタック上に確保されます。 この場合、毎度関数呼出し毎に確保が行われます。 確保された時、配列の中はゴミです。 なので、この場合は(GORRYさんの指摘の通り)毎度初期化されます。 じゃあ、配列の初期化っていうのはどうやってやるかと言うと、 それはコンパイラの実装毎に違いますけど、本質的には二通りしかありません。

後者は、(0で初期化するような、さらに最適化できるケースを除いて) 即値として機械語中に展開されるので、 結局 static に確保した以上のデータがコード中に存在するわけです。 どちらにしても、static に配列を確保した程度以上のデータは、ずっと メモリ上に残るのです。static にすれば、関数呼出し毎の初期化の無駄なコピーは 発生しませんから、この場合は 100% static にするケースです。 auto にするメリットは全く存在しません。 (ところで、昔のCだと auto 配列の初期化自体ができませんでしたので、 auto の方のコードは気持ち悪くて仕方がありません。 何でこんな無駄なものを入れたんでしょうね...)

じゃあ、 GORRYさんのコードならOKかと言うと、これもまだいまいちな気がします。 どちらかと言うと、実装よりも仕様の問題だけれども、この場合 caller 側のバッファに一々 strcpy() してやる必要があるのかどうか。 必要なければ、バッファにコピーせず、ポインタをそのまま返すようにすればいいし、 strcpy() してやりたいなら、バッファオーバーフローの検査ぐらいはしたいです。 (バッファ長を渡してもらうようにする) まあ、GORRYさんはわかってて、繁雑になるので省略したのだとは思いますが。 さらに、仕様によっては month の範囲チェックぐらいしないと安心できません。:-)


2001年01月11日(木)

SCSI chip

ええと、33C93 系と 53C94/96 系はアーキテクチャは別物ですから、 多分参考になりません。

ちなみに、 東京エレクトロンのデータシートって、私持ってるんですけど、入手したのは 10 年前です。ASCII 版 MINIX の SCSI ドライバーを書くのに必要だったので。


2000年12月21日(木)

オブジェクト指向の理論

いまどき、その分野の研究者はゴマンといると思いますので、 素人の私が口を出すものではないのですが...

私が読んだ書籍では 岩波講座の 「モデルと表現」でオブジェクト指向の意味論が取り上げられてましたね。 ただ、表示的意味論の基礎を理解していないと、 読むのはつらいかもしれません。 (この本の後半は基礎ができてないので全然読めませんでした。)


2000年12月06日(水)

wi と clock 異常

自宅の PC (ASUS P/I-P55T2P4 + K6-III 400MHz with 下駄) で NetBSD 1.5B が動いている。 こいつに RATOC の PCMCIA interface 経由で MELCO の WLI-PCM-L11 を 差して使ったら、ntp の同期が効かなくなる現象が発生した。

今まで frequency offset (/var/db/ntp.drift の値) が -50PPM 近辺 だったものが、WLI-PCM-L11 を差したら 500PPM に張りついてしまう。 ntp の許容範囲は±500PPMなので追従不能状態になってしまった。 若干時計精度が悪くなる以外は大きな不都合はないので、 目をつぶって使うようにしようか。しかし気になる。

これって、hardclock() のとりこぼしかなあ... 時間があれば検証したいのだが。 wi が活動すると clock が狂うのか、 attach しただけで発生するのかも知らべていない。


[トップ(一覧)] [最新版] [<<前月] [今月] [翌月>>]

このページは、

Copyright(C) 1999,2000 Atsushi Furuta <furuta@bsdclub.org> All rights reserved.