当前位置:  技术问答>linux和unix

linux平台,线程的问题,编译结果为什么会这样

    来源: 互联网  发布时间:2016-04-15

    本文导语:  sh-3.2$ gcc -o cxqd11-1 cxqd11-1.c  /tmp/ccIRAHg4.o: In function `main': cxqd11-1.c:(.text+0x307): undefined reference to `pthread_create' collect2: ld 返回 1 代码如下: #include "apue.h" #include "error.c" #include  pthread_t ntid; void printids(const ...

sh-3.2$ gcc -o cxqd11-1 cxqd11-1.c 
/tmp/ccIRAHg4.o: In function `main':
cxqd11-1.c:(.text+0x307): undefined reference to `pthread_create'
collect2: ld 返回 1

代码如下:

#include "apue.h"
#include "error.c"
#include 

pthread_t ntid;

void printids(const char * s)
{
    pid_t pid;
    pthread_t tid;
    
    pid = getpid();
    tid = pthread_self();
    printf("%s pid %u tid %u (0x%X)n", s, (unsigned int)pid, (unsigned int)tid, (unsigned int)tid);   
}

void * thr_fn(void * arg)
{
    printids("new thread: ");
    return ((void *)0);
}

int main()
{
    int err;
    err = pthread_create(&ntid, NULL, thr_fn, NULL);
    if(err != 0)
    {
        err_quit("can't create thread: %sn", strerror(err));
    } 
    printids("main thread: ");
    sleep(1);
    exit(0);
}

|
试一下


在gcc编译命令中加上 -lpthread 试试看

|

if your environment variable not contain this Lib path,you must use '-L' to link the route

Commonly,the compiler searches '*.so' from the position that was recorded by environment variable.So you can use '-l' to get it.

Here you must appoint the route of the lib file that you want.

|

up

|
Linux下多线程的编译需要在编译命令后加上-lpthread的.
UP~

    
 
 

您可能感兴趣的文章:

  • Windows和Linux下C++类成员方法作为线程函数方法介绍
  • 请问Linux核心支持多线程吗?开发库有线程库吗?线程好用吗?(稳定?)
  • Linux下GCC内置原子操作函数(多线程资源访问)介绍
  • 求个linux多线程编程的例子,要有线程池的 通用些更好
  • 请问Linux下线程开销为什么这么大?一个线程要占用近10M内存
  • Linux多线程时一些线程分不到时间片
  • 说说windows线程和linux线程的区别?
  • linux 下多线程 每个线程能否使用alarm来处理,信号是否会乱呢?
  • linux下,如何在多线程中每个线程设置一个定时器,在线等,急。。。谢谢
  • 在创建linux线程时为什么会多一个线程?
  • linux如何主动将线程放入到线程调度队列中重新排队?
  • 在linux RH73下为什么单进程只能开1021个线程线程.
  • Linux下如何让主线程挂起一个指定的时间段而子线程继续运行?谢谢
  • LINUX下有没有线程概念,和WIN下线程概念有什么不同,谢谢.
  • linux线程编程问题
  • linux线程最大数,奇怪,怎么只有300?而且线程是用完就没了,不是同时300啊!
  • 跪求:linux下pthread 双线程计算和单线程的运行时间完全相同是为什么?
  • linux线程与进程的问题
  • linux 下子线程不能执行的问题?
  • linux多线程编程的问题
  • linux多线程编程
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • linux 64位编译出错。linux 32位可以编译过。
  • 关于在linux交叉编译powerpc-e300c3-linux-gcc的编译问题
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • linux下有没有能编译出16bit代码的C语言编译器?
  • 现要在一台Pentium100上安装LINUX操作系统,能不能不选用别的品牌的LINUX,而直接用内核编译,然后再加上编译器和SHELL等等其它东西?如
  • linux下可以编译c但是如何编译c++
  • arm-linux-gcc交叉编译出错,但gcc编译没错,什么原因呢???
  • 谁编译过PLX9054 Linux的驱动程序,我给100分教我编译和安装??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下top命令详解包括top命令参数使用及结果(virt,res,shr)排序举例说明
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • linux由于设置错了ip地址结果无法启动!
  • linux脚本中命令运行结果判断
  • linux: wc -m统计字符数,为什么结果比实际多一个?
  • LINUX删掉后,重新恢复引导区;结果WIN2000不出现启动画面,怎么办那
  • linux下c++调用数学函数后,编译正确但不出结果
  • linux下如何合并命令结果
  • linux服务器被电信重新分配了IP,结果proftp不能启动了。
  • 请教关于linux Shell字符串比较 结果与预期不一样??
  • linux 下怎样把函数结果导出到excel
  • linux 下的lilo 源代码 我尝试用gcc -O3 lili.c 结果出错
  • snmp中的执行linux系统命令如uname的函数,其返回的结果怎么得到啊????
  • 一个在linux/unix开发区问了2天没有结果的问题
  • 原来装了linux和window2K两个系统,今天又装了个winxp,结果找不到启动linux的菜单呢?请问如何解决,先谢了!
  • 第一次装Linux,结果出问题了:(
  • linux 中du的输出结果可能比df还大么
  • 我的linux服务器,cpu总是30-50%,top,ps出来的结果看不到哪个进程,怎么办?
  • 如何知道linux命令执行结果各项的含义
  • suse linux三条命令查看僵死进程结果不一样的问题
  • 在linux C 调用 shell 语句 如何才能不回显执行结果
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3