以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  在使用malloc函数时,写上头文件alloc.h,为什么编译后说没有这个文件呢?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=41179)


--  作者:flyhigher
--  发布时间:12/13/2006 8:38:00 PM

--  在使用malloc函数时,写上头文件alloc.h,为什么编译后说没有这个文件呢?
在使用malloc函数时,写上头文件alloc.h,在vc下编译后,报错:
fatal error C1083: Cannot open include file: 'alloc.h': No such file or directory

难道vc下本不包含这个头文件?如何手动将该头文件加在头文件库里?


--  作者:longshentailang
--  发布时间:12/13/2006 10:01:00 PM

--  
VC下是不包含alloc.h头文件的,你可以加上stdlib.h或malloc.h头文件,这两个头文件里面都有malloc函数的声明,以及free、realloc函数的声明。
--  作者:longshentailang
--  发布时间:12/13/2006 10:15:00 PM

--  
或者你也可以将alloc.h中的
void  _FAR *_Cdecl malloc(size_t __size);修改为
void  *_cdecl malloc(size_t __size);
加在main函数的前面,如:

void  *_cdecl malloc(size_t __size);

void main(void)
{
 char *p = (char *)malloc(2*sizeof(char));
}

注:我这里的alloc.h是取自TC++3.1中的。

你也可以将TC++3.1下的INCLUDE目录加到VC下的菜单 Tools->options->Directories->Show directories for下面,选择Include files选项,把上面的INCLUDE目录加到这里就可以了。不过要去掉里面的一些关键字,如huge、_FAR等。所以不如直接加stdlib.h或malloc.h头文件方便。


--  作者:flyhigher
--  发布时间:12/14/2006 7:19:00 PM

--  
多谢!果然是高手。以后还请多多指教。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
3,996.094ms