当前位置:  技术问答>linux和unix

数组和malloc问题求助

    来源: 互联网  发布时间:2017-01-03

    本文导语:  今天在coding时遇到一个非常匪夷所思的问题,如下: int function() {    uchar Data[1024]; } 类似上面的代码,在运行时会导致死机,但是更改为下面写法后OK, int function() {    uchar *p = malloc(1024);    if (NULL == p) ...

今天在coding时遇到一个非常匪夷所思的问题,如下:

int function()
{
   uchar Data[1024];
}

类似上面的代码,在运行时会导致死机,但是更改为下面写法后OK,

int function()
{
   uchar *p = malloc(1024);
   if (NULL == p)
       return -1;

   free(p);
}

实在搞不清楚,为什么在同一个函数中,使用1K的数组会导致死机,而使用malloc申请1K的空间却不会死机呢?

个人分析可能原因:
1.GCC过度优化导致
2.toolchain导致

希望哪位大侠能帮我解决这个疑惑,谢谢

|
因为malloc申请的空间在堆上,数组在栈上,栈空间相对较小。所以很可能是你的栈空间用完了

|

个人感觉也是这个可能性大

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 data():返回内容的字符数组形式
  • C++指针数组、数组指针、数组名及二维数组技巧汇总
  • C++ Strings(字符串) 成员 copy():将内容复制为一个字符数组
  • c#基础之数组与接口使用示例(遍历数组 二维数组)
  • C++ Strings(字符串) 成员 c_str():将字符串以C字符数组的形式返回
  • 如何将一个数组重新组成一个新的数组?
  • c++类对象数组初始化方式
  • php定义数组和使用示例(php数组的定义方法)
  • php数组函数之array_combine() 数组合并函数
  • 判断php数组维度(php数组长度)的方法
  • php数组函数之array_count_values() 统计数组中所有值出现的次数
  • 请问怎么对一个数组排序,数组的内容是字符串,可能是单个也可能是多个?
  • 在我的java程序中,我从数据库中得到一批数据,不能确定是多少个,我要把它保存到我的java数组中,可是怎样才能向C++中的数组一样可以自由分配空间,在java中我必需预先指定大小,不会一定要用java中的那个可改变数组大小的类吧?
  • 一个String类型的Vector向量数组如何转换成一个String类型数组(请给代码)?
  • php数组函数之array_unique() 去除数组中重复的元素值
  • 将数组中指定数量的元素移动数组后面的实现代码
  • C++中关于[]静态数组和new分配的动态数组的区别分析
  • php判断一个数组是否为另一个数组子集的方法
  • 将二维数组转为一维数组的2种方法
  • 文件描述符集fd_set * readfds;书上这样描述数组元素的每一位对应一个文件描述符,第一个元素代表文件描述符0到31,数组第二个元素代表文
  • 深入理解数组指针与指针数组的区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3