typedef struct
{
int ProcName;
int ProcNumber;
}FiFO_struct;
void FiFO()
{
pthread_t *t;
FiFO_struct* FiFO_st;
int ProcN = 0, coun = 0, *ProcNP;
printf("몇 개의 프로세스를 사용하시 겠습니까 ?
");
printf("Input Num : ");
scanf("%d", &ProcN);
t = (pthread_t *)malloc(sizeof(pthread_t)*ProcN);
FiFO_st = (FiFO_struct *)malloc(sizeof(FiFO_struct)*ProcN);
for(coun = 0; coun < ProcN; coun++)
{
FiFO_st[coun].ProcName = coun + 1;
pthread_create(&t[coun],NULL,FiFO_sequence,(void *)(FiFO_st+coun));
}
}
void* FiFO_sequence(void* arg)
{
(FiFO_struct *)arg->ProcNumber = FiFO_seq++;
}
================================================================================================
[뉴비@localhost PS]$ gcc -D_REENTRANT -lpthread -o ./PS ./PS.c
./PS.c: In function ‘FiFO_sequence’:
./PS.c:52: warning: dereferencing ‘void *’ pointer
./PS.c:52: error: request for member ‘ProcNumber’ in something not a structure or union
((FiFO_struct *)arg)->ProcNumber
ㅎ 홍왕ㅇ //
./PS.c: In function ‘FiFO_sequence’: ./PS.c:52: warning: dereferencing ‘void *’ pointer ./PS.c:52: error: request for member ‘ProcNumber’ in something not a structure or union
FIFO_struct* p = (FIFO_struct*)arg; p->ProcNumber
FIFO_seq는 뭐라고된거?
Seq는 int형 전역변수.
위에껄로 해도 안돼?
FIFO_struct* p = (FIFO_struct*)arg; p->ProcNumber = FiFO_seq++;
안되나보네
아직안해봄 잠시만요
error : invalid use of void expression
pthread_create 줄에서 오류 났데요
해결됬습니다. 여러분 감사합니다 ....
알랍 왕 형님
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.