アカウント名:
パスワード:
NULL が ((void *)0) って、初期の unix がゼロ番地をアクセスさせないアドレスマップ構成だったからだと思うのです。 (kernel が ~0x7FFF_FFFF で user が 0x8000_0000~)
だから昨今の ARM とか組み込み系だと、ゼロ番地が有効だったりするので「絶対にアクセスしない番地」は別の番地になるはずだと思うのです。
ヒロシです。
dodongaです。
NULLは0ではありません。nul文字は定義から0です(ASCIIのnul)。
なので、memset(&XXX[0], NULL, YYY);はお馬鹿なのです。
以前の会社の後輩ですがmemset(&XXX[0], NULL, YYY);みたいに書けずNULL をdefineで ((void *)0)を定義してた子を叱ったことがあります。
#OSははHPだたかなぁ。遠い思い出です。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
どうでもいいんだけど (スコア:0)
NULL が ((void *)0) って、初期の unix がゼロ番地をアクセスさせない
アドレスマップ構成だったからだと思うのです。
(kernel が ~0x7FFF_FFFF で user が 0x8000_0000~)
だから昨今の ARM とか組み込み系だと、ゼロ番地が有効だったりするので
「絶対にアクセスしない番地」は別の番地になるはずだと思うのです。
ヒロシです。
どうでもよくありません。それがこの日記の趣旨です。 (スコア:1)
dodongaです。
NULLは0ではありません。nul文字は定義から0です(ASCIIのnul)。
なので、
memset(&XXX[0], NULL, YYY);
はお馬鹿なのです。
以前の会社の後輩ですが
memset(&XXX[0], NULL, YYY);
みたいに書けず
NULL をdefineで ((void *)0)を定義してた子を叱ったことがあります。
#OSははHPだたかなぁ。遠い思い出です。
閑話休題