QThread与指针指针

时间:2014-04-02 14:02:30

标签: pointers qt-creator qthread

我遇到QThread问题。 我在GUI线程中做了一些计算,但它确实有效。 但是现在我尝试在工作线程中进行计算,并且存在运行时错误。

A有这个功能。

double **matrix(int nx,int ny, int shift)
{
    int i;
    double **m=(double **)calloc(nx+1, sizeof(double*));
    for (i=0;i<=nx;i++) m[i]=(double *)calloc(ny+1,sizeof(double))+shift;
    return m+shift;
}

在run()函数中,想要这样做:

double **lop=matrix(1,2,3);

但是在这一行中存在这样的错误:SIGSEGV Segmentation fault。 一个不明白,为什么错误只在工作线程中。因为在GUI线程中运行时,它可以工作。

请原谅我的英语不好。

1 个答案:

答案 0 :(得分:0)

你不能移动3.你必须让事物与单词边界对齐。字是两个字节,因此移位只能是偶数。你想要的Perhaphs

return m + shift*sizeof(double*);