У меня есть эта функция void с указателем на мой поток. когда я иду на компиляцию, я получаю предупреждение: «control достигает конца не-void функции». Если яЕсли функция потока возвращает 0?
void mythread (void *arg)
и функция Я разрешу предупреждение о том, что компилятор дает, но получить новое предупреждение, что говорит:
TA.c:50:2: warning: passing argument 3 of ‘pthread_create’ from incompatible pointer type [enabled by default]
Итак, я ставлю return 0;
в конце " mythread ", и он компилируется. Но я не уверен, правильно ли это делать?
Рекомендации? Я программист newb, пытаясь изучить программные сервисы системы POSIX.
Так что я не уверен, что делать. Должен ли я попытаться ввести тип 3? Как я могу скомпилировать мою программу и получить нулевые предупреждения?
#include <limits.h>
#include <pthread.h>
#include <stdio.h>
void *mythread (void *arg)
{
printf("This my Thread Maybe...\n");
}
int main()
{
pthread_t mythread_id;
pthread_attr_t mythread_attr;
size_t stack_size;
int detachstate;
pthread_attr_init (&mythread_attr);
pthread_attr_getdetachstate(&mythread_attr, &detachstate);
if(detachstate == PTHREAD_CREATE_DETACHED)
{
printf("Current Deteached state is Detached\n");
}
else
{
printf("Current Detached state is Joinable\n");
}
pthread_attr_setdetachstate (&mythread_attr, PTHREAD_CREATE_DETACHED);
pthread_attr_getdetachstate (&mythread_attr, &detachstate);
if(detachstate == PTHREAD_CREATE_DETACHED)
{
printf("NEW DETACHED STATE is determined to be deteched\n");
}
else
{
printf("NEW DETACHED STATE is Determine to be Joinable\n");
}
pthread_attr_getstacksize (&mythread_attr, &stack_size);
printf ("Default stack size is %d; minimum is %d\n", stack_size, PTHREAD_STACK_MIN);
pthread_attr_setstacksize (&mythread_attr, PTHREAD_STACK_MIN*2);
pthread_attr_getstacksize (&mythread_attr, &stack_size);
printf("NEW stack size is %d\n", stack_size);
pthread_create (&mythread_id, &mythread_attr, mythread, 0);
return 0;
}
Каждый вопрос здесь ищет рекомендации по кодированию. Можете ли вы сделать свой титул более конкретным? – Blorgbeard
Спасибо за редактирование форматирования. да, я знаю, вонючий титул. Я попробовал 5 разных титров, только этот пробился. Не уверен, что вам нужно размещать заголовки, чтобы задать простой вопрос. – j0h
Итак, как я могу отметить это как решение? (Спасибо всем за помощь) – j0h