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);
}