当我尝试运行这段代码时,出现了“分段错误(core dump)”的错误信息。
注意:这是一个非常长的程序(近600行),所以我只贴出我认为相关的部分。如果需要更多信息,请告诉我。谢谢!
#define CONSTANT 4
int main()
{
pthread_t tid[CONSTANT];
int i, check;
for( i = 0; i < CONSTANT; i++ )
{
check = pthread_create( &tid[i], NULL, tFunction, (void *) CONSTANT );
}
}
void * tFunction ( void * param )
{
int num = * (int *) param; /* Seg fault line */
}
int
的大小与指针不同。我已经在我的答案中更新了来自stdint.h
的 C99intptr_t
类型。如果这不起作用,你可以使用long
。 - Carl Norum