zoukankan      html  css  js  c++  java
  • Linux下undefined reference to ‘pthread_create’问题解决

    Linux下undefined reference to ‘pthread_create’问题解决

    在试用Linux 线程模块时,试用pthread_create 函数。
    编译命令为 gcc main.c -o test时,会出现如下错误

    /tmp/ccIvH3bU.o: In function `main':
    main.c:(.text+0x81): undefined reference to `pthread_create'
    collect2: error: ld returned 1 exit status
    

    问题的原因:pthread不是linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失败。

    解决:在gcc编译的时候,附加要加 -lpthread参数即可解决。

    试用如下命令即可编译通过

    gcc main.c -o test -lpthread
    
    
    #include <unistd.h>  
    #include <pthread.h>  
    
    #define NUM 10
    int count;
    
    void* thread_func(void *arg) 
    {
    	count++;
    	printf("count %d
    ", count);
    	return;
    }
    
    int main()
    {
    	pthread_t tid[NUM];
    	int i = 0;
    	
    	for (i = 0; i < NUM; i++)
    	{
    		pthread_create(&tid[i], NULL, thread_func, NULL);	
    	}
    
    	sleep(1);
    	
    	return 0;
    }
    
  • 相关阅读:
    Alpha 答辩总结
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    团队作业-随堂小测(同学录)
    Alpha 冲刺 (5/10)
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(6/6)
  • 原文地址:https://www.cnblogs.com/langzou/p/7364014.html
Copyright © 2011-2022 走看看