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