日期:2014-05-16  浏览次数:21145 次

Linux 下 memcpy()有Segmentation fault
Linux   下,   如下的function   call:

AF1()
{
      my_structure     span;   /*define   local   variable   in   AF1*/
     
      给span赋值
      ......
      ......

      memcpy(,   &span,   3)
      .....

      return  
}

运行报告memcpy处有Segmentation,   而且是span地址越界,dump显示span地址已经不再User   space。   各位高手能否给指点一二?

多谢!



------解决方案--------------------
舍不得貼多點代碼,怎麼幫忙
------解决方案--------------------
my_structure aspan,bspan; /*define local variable in AF1*/
...
memcpy(&aspan,&aspan,sizeof(aspan));
...


------解决方案--------------------
给出的代码太少,没办法判断。
但是如果你确信你的代码没有问题的话,可以试着改变编译时的字节对齐方式。
-xmemalign=4s or -xmemalign=8s