[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00049] Re: malloc define (Re: configure for HP-UX and OpenBSD)
- To: freewnn@tomo.tomo.gr.jp
- Subject: [freewnn:00049] Re: malloc define (Re: configure for HP-UX and OpenBSD)
- From: YABUKI Youichi <yabuki@XXXX>
- Date: Wed, 11 Aug 1999 20:52:12 +0900
- In-Reply-To: Your message of "Wed, 11 Aug 1999 20:20:27 JST." <199908111120.UAA01289@atom0.nagoya.ydc.co.jp>
- Reply-To: freewnn@tomo.gr.jp
SRA の矢吹と申します。
> 濱嶋@YDCです
>
> > HP-UX 10.Xのマシンが手元にないのと、HP-UX 11.0ではコンパイル・エラーが発
> > 生するために、現時点ではHP-UX 9.0Xしかサポートしていません
>
> HP-UX 11.0の開発用C compilerは型チェックが厳しくて、malloc()等がエラーに
> なってしまいます
> 実際にはWnn/include/wnn_malloc.hの
>
> extern char *malloc0();
> #define malloc(s) malloc0(s)
>
> がOSの定義している
>
> extern void *malloc(size_t);
>
> と違うと言って蹴られます(他にrealloc()とWnn/etc/msg.cのbsearch()も)
私も別のソフトウェアで遭遇しました。
> 一般的に"char *malloc(int)"と"void *malloc(size_t)"は何で区別するのでしょ
> うか?
>
> # "__STDC__"が定義されているかどうかが無難かな
現在の configure で ANSI C 準拠のヘッダがあるか
どうかチェックしてるので(autoconf のマクロだと AC_HEADER_STDC)、
その結果定義される STDC_HEADERS で判定するというのはどうでしょうか?
STDC_HEADERS が 1 に定義されていれば、stdlib.h で宣言されているはずなので、
ソースコードでは malloc() の宣言は行なわないと。
--
(株)SRA 矢吹洋一