namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ccmalloc: free(NULL)
knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:
> ところで、Ruby で libnmz を使った module を書いたりしたときに、
>libnmz に含まれる Ruby の regex.o があることは何か悪い影響を及ぼしたり
>しませんでしょうか? ちょっと不安です。
うーん、 regex.[ch] にも nmz_ という prefix をつけた方がいい
かな。ちょっと面倒なんだけど。
# いつも Ruby の regex.[ch]をそのままコピーして使っています。
# 新しい regex.[ch]をもらってくるたびに prefix をつけ直すの
# はちょっと面倒です。
>> ># 少なくとも、Linux の free(NULL) はなにもしないで通すようになっている
>> ># のですが... ANSI 的にはどうでしたっけ?
>>
>> あーどうなんだろう。研究室に行けば JISの規格書があると思うの
>> で、明日にでも調べてみます。
>
> よろしくお願いします。
『JISハンドブック59 情報処理 プログラム言語編 1997』によると
| 形式
|
| #include <stdlib.h>
| void free(void *ptr)
|
| 機能
|
| free関数は、 ptrが指す領域を解放し、その後の割付けに使用でき
| るようにする。ptrが空ポインタの場合、何もしない。それ以外の
| 場合、実引数が callc関数、malloc関数若しくは realloc関数によっ
| て以前に返されたポインタと一致しないとき、又はその領域が
| free若しくは realloc の呼出しによって解放されているとき、そ
| の動作は未定義とする。
|
| 返却値
|
| free関数は、値を返さない。
とのことです。
-- Satoru Takabayashi