sbrk错误测试,errno转换等问题

来源:互联网  时间:2016/8/31 0:04:30

关于网友提出的“ sbrk错误测试,errno转换等问题”问题疑问,本网通过在网上对“ sbrk错误测试,errno转换等问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: sbrk错误测试,errno转换等问题
描述:

#include
#include
#include
main()
{
  void *p=sbrk(1000000000*2);
  if(p == (void*)-1)
  {
printf("Memory:%m\n");
perror("hello");
printf("::%s\n",strerror(errno));
  }
}

错误显示:
 sbrk错误测试,errno转换等问题
我的问题是:
1.为什么编译器说我用strerro()转换后是int型,我man strerro却说是char*
2.我企图用sbrk申请过大内存报错,但是即便超出了整形最大值,仍然不行,这不科学
希望大神指明方向!感激不尽
解决方案1:

1、你要#include 
2、我的很正常的报错了,估计你的是64位系统吧,另外看下你的limit设置,sbrk并不会真的申请内存,只是偏移下虚拟地址
:~/test$ ./a.out
Memory:Cannot allocate memory
hello: Cannot allocate memory
::Cannot allocate memory

上一篇有个关于检测并控制键盘大写键的问题,高手请入
下一篇Microsoft Visual Studio 2008 C++问题
明星图片
相关文章
《 sbrk错误测试,errno转换等问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)