linux多线程编译

2023-11-09

#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>

int sum;
void *runner(void *param);

int main(int argc, char **argv) 
{
    pthread_t tid;
    pthread_attr_t attr;
    
    if(argc != 2)
    {
        fprintf(stderr,"usage:a.out<integer value>\n");
        return -1;
    }
    if(atoi(argv[1]) < 0)
    {
        fprintf(stderr,"%d must be >= 0\n",atoi(argv[1]));
        return -1;
    }
    pthread_attr_init(&attr);
    pthread_create(&tid,&attr,runner,argv[1]);
    pthread_join(tid,NULL);
    printf("sum = %d\n",sum);
    return 0;
}
void *runner(void *param)
{
    int i,upper=atoi(param);
    sum = 0;
    for(i=1;i<=upper;i++)
    {
        sum+=i;
    }
    pthread_exit(0);
}
$ gcc 4.4.1_4-9.c -o 4.4.1_4-9.o
/tmp/ccWftpGc.o: In function `main':
4.4.1_4-9.c:(.text+0xc3): undefined reference to `pthread_create'
4.4.1_4-9.c:(.text+0xd4): undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程时,需要链接该库。

$ gcc 4.4.1_4-9.c -o 4.4.1_4-9.o -lpthread

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux多线程编译 的相关文章

  • nginx反向代理(前端 开发环境、测试环境、生产环境 解决方案)

    什么是Nginx Nginx engine x 是一个高性能的HTTP和反向代理服务 也是一个IMAP POP3 SMTP服务 Nginx是由伊戈尔 赛索耶夫为俄罗斯访问量第二的Rambler ru站点 俄文 开发的 第一个公开版本0 1
  • vim

    three basic mode of vim command mode also is default mode all the alphanumeric keys are bound to commands Typing dd will
  • 联想笔记本使用linux时不能连接WiFi

    1 每次开机不能使用无线网 输入 rfkill list 发现ideapad laptop处于blocked yes状态 使用以下命令解除锁定便可以使用wifi sudo modprobe r ideapad laptop 2 将ideap
  • 定时删除某目录下几天前的文件

    系统每天生成日志 为了保证系统正常运行 需要不断清理系统空间 就把这种事情交给批处理文件来吧 这种方法简单实用 你只要通过任务计划和批处理文件就能实现 1 任务计划 进入 控制面板 任务计划 然后根据提示选择要运行的程序 运行时间即可 2
  • 收藏几个GNU网站,方便下载并安装gcc、glibc、make

    收藏几个GNU网站 方便下载gcc glibc make http ftp gnu org gnu gcc 安装教程参考 https www cnblogs com w84422 p 15210919 html http ftp gnu o
  • ChatGPT、New Bing、文心一言、通义千问等 AI 工具到底哪个更AI? - 第二期

    文章目录 前言 选手介绍 ChatGPT New Bing 文心一言 钉钉的文档AI 通义千问 Stable Diffusion 文心一格 前言 本次是上次文章的后续 经历了这么久的时间 我也是在几个月前拿到了通义千问的测试资格 本次参加的
  • 打开chm文件,不显示文件内容的解决办法

    事件描述 今天在网上下了一个chm的文件 打是打开后 只有目录 右侧不显示内容 解决办法 右键点击文件 属性 看到 最下面有一个提示 说是这个文件是来自其他计算机的 边上有一个解锁 点击 解锁 再试一下 应该就可以了 详细解决办法 许多用户
  • IncrediBuild 联合编译

    01 基本信息 官网 https www incredibuild com Make 和其他构建工具示例 要使用IncrediBuild 必须有License 可以免费申请试用版本的license 可以到 https www incredi
  • CodeMirror用户手册

    用户手册和参考指南版本5 46 1 CodeMirror是一个代码编辑器组件 可以嵌入到Web页面中 核心库仅提供编辑器组件 不提供伴随按钮 自动完成或其他IDE功能 它确实提供了丰富的API 在此基础上可以直接实现这些功能 有关额外功能的
  • TypeError: Cannot interpret ‘<attribute ‘dtype‘ of ‘numpy.generic‘ objects>‘ as a data type

    原因 numpy 和pandas 版本不一致 参考链接 numpy和pandas升级 pip升级 pandas失败解决
  • googletest入门

    googletest入门 1 Windows上编译生成gtest lib静态库 1 1 首先在github上下载Googletest1 8 0版本 https github com google googletest releases ta
  • 批处理文件常用命令

    批处理有许多命令 1 Echo 命令 打开回显或关闭请求回显功能 或显示消息 如果没有任何参数 echo 命令将显示当前回显设置 语法 echo on off message Sample echo off echo hello world
  • 嵌入式软件中如何排查bug?

    明确Bug现象 要准确描述Bug出现的场景 现象 能复现就最好 查看日志信息 嵌入式系统日志可以帮助定位问题 看是否有报错 异常信息 用仿真工具调试 许多嵌入式芯片都有相应的仿真调试工具 可以在仿真环境下单步跟踪 查看变量值等 加打印调试
  • 设置VS 2013代码折叠

    设置VS 2013代码折叠 版本 VS2013 中文版 步骤 工具 T gt 选项 O gt 文本编辑器 gt C C gt 查看 gt 大纲语句块 设置为 True
  • Unity在development模式下的一个坑

    最近发现unity生成的包在Nexus上如果打开带Input控件的界面时 关闭屏幕再打开 则永远无法显示输入法界面了 一开始还以为是unity自己本身的bug 后来发现release版本并无这个问题 于是弄了个最简单的测试版本分别打了 两个
  • 生成项目树形结构

    当你写博客或者项目描述的时候 想要展示项目的树形结构 怎么办呢 手写 程序员是不可能手写的 win R输入cmd进入dos 输入命令 tree 项目根目录 gt 生成的树形结构文件保存地址 比如 tree E workspace flink
  • (转)C++模板函数和重载

    C 模板函数和重载 先来看一个例子 include
  • 如何高逼格的写java代码

    记录一些了解的高逼格 好用的java代码 欢迎大家补充 共同学习 1 函数式接口 FunctionalInterface 好处 高逼格 代码收拢 解藕 统一处理 适用范围 具有共性的接口调用代码 举个栗子 在我们平时的微服务开发中 调用其他
  • Pandas函数set_option()学习笔记

    pd set option 函数用法 import pandas as ps pd set option expand frame repr True True就是可以换行显示 设置成False的时候不允许换行 pd set option
  • C++零散易错点总结

    对日常做题中遇到的一些零散的易错点的总结 持续更新ing 1 string的length方法返回的是无符号数 当与负数比较时需要强制类型转换 否则会报错 1

随机推荐