Linux下函数传递指针大数据导致segmentation fault问题

一个函数中调用另外一个函数试,将本地的大数据通过指针传递下去让他进行处理,结果出现segmentation fault 

比如在

 bool SetstringPlay(char * pi,int length,int x,int y)

{

。。。

 OsdWriteChar(x,y, pi.width, pi.height,RED_RGB,0,pi,addr);


}


结果在OsdWriteChar中出现错误,数据也就1000字节左右,Linux下运行。


后来果断换成结构体的形式。传递结构体,不用指针了 如下,解决问题

typedef struct 
{
unsigned char buf[270*70];
unsigned int  height;
unsigned int  width;

}BITMP_DATA;

 bool SetstringPlay(BITMP_DATA  pi,int length,int x,int y)

{

。。。

 OsdWriteChar(x,y, pi.width, pi.height,RED_RGB,0,pi,addr);


}



您可能还会对下面的文章感兴趣:

sitemap