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