Я пытался узнать многопоточную программу в c и получил ошибку компоновщика, которую я не могу решить. Я проверил предыдущую проблему, подобную этой, но эти решения могли не решить мою проблему.ошибка компоновщика в c потоке программы .. ld возвращен 1 статус выхода
error :
single_thread.c:(.text+0x15)undefined reference to 'thread_function'
collect2:ld returned 1 exit status
Я проверил опечатка в
программа идет как этот
#include<stdio.h>
#include<unistd.h>
#include<pthread.h>
#include<stdlib.h>
#include<string.h>
void *thread_functions(void *arg);
char message[]="Hello world";
int main()
{
int res;
pthread_t a_thread;
void *thread_res;
res=pthread_create(&a_thread,NULL,thread_functions,(void*)message);
//i guess error is from the function pointer.
if(res!=0)
{
perror("thread creation:");
exit(EXIT_FAILURE);
}
printf("waiting for thread to finish...\n");
pthread_join(a_thread,NULL);
/* if(res!=0)
{
perror("thread_join failed:");
exit(EXIT_FAILURE);
}*/
// printf("thread joined,it has returned %s\n",(char*)thread_res);
printf("Message:%s\n",message);
exit(EXIT_SUCCESS);
}
void *thread_fucntions(void *arg)
{
printf("thread function is running.argument was %s\n",(char*)arg);
sleep(3);
strcpy(message,"BYE!");
pthread_exit("thank you for the cpu time");
}
'я проверил опечатка в' ... как-то я сомневаюсь. :) –
у меня есть. скомпилировал код с -lpthread. пожалуйста, помогите мне с формированием, чтобы задать вопрос. я не получаю его правильно – user3207191
В этом коде есть тип, который, как мне кажется, является проблемой «void * thread_fucntions (void * arg)», неправильно написано в нижней части. – cedd