분할 오류의 사례를 이해할 수 없습니다.pthread_join()의 분할 오류
int main()
{
int val;
pthread_t thread;
...........................
pthread_join(thread,(void **) &val);
printf("Val=%d",val);
//and here sometimes come segmentation
//fault and other times i get correct val value
...........................
}
void *Do(void *)
{
int retval=4;
...............
pthread_exit((void *) retval);
}
제가 있어 올바른 경우, 그 발 = 4 pthread_join을 후()을 의미한다 (& 브로) 포인터가 가리키는 변수로 (4 값)가 pthread_exit()를 저장 요지. 하지만 제가 여러 번 프로그램을 시작하면 올바른 발 값 (즉 4)과 다른 출시에 대한 세분화 오류가 발생합니다. (btw 포인터와 Do 함수의 동적 할당으로 올바른 방법으로했을 때와 동일한 결과).
도와주세요. 미리 감사드립니다.
너는 너무 많이 꺼냈다. 추가하는 동안 들여 쓰기를 수정하십시오. – Wug