Почему неявное объявление pthread_yield с -lpthread в то время как все нормально с -pthread?

Я компилирую этот код main.c в CentOS7 с помощью gcc:

#include <pthread.h>
void* mystart(void* arg)
{
    pthread_yield();
    return(0);
}
int main(void)
{
    pthread_t pid;
    pthread_create(&pid, 0, mystart, 0);
    return(0);
}

1-я компиляция:gcc -Wall -g main.c -pthread -o a.out
Это все нормально.

2-я компиляция:gcc -Wall -g main.c -lpthread -o a.out
дает

предупреждение: неявное объявление функции 'pthread_yield' [-Wimplicit-function-объявление]

Может 2-йa.out все еще работает правильно?Как исправить предупреждение без-pthread? Являетсяsched_yield другой способ получить pthread?

Ответы на вопрос(2)

Ваш ответ на вопрос