C++ - VS2019配置pthread线程库

news/2024/9/23 3:19:12/文章来源:https://www.cnblogs.com/zhuchunlin/p/18332516

1. 说明

在VS里用MS编译器不能直接调用pthread库,需要先自行下载该库:http://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip

解压后用得到的只有Pre-built.2文件夹下的文件。

2. 配置

如下图分别配置三大项:

  • 包含目录-->...pthreads-w32-2-9-1-release\Pre-built.2\include
  • 库目录-->...pthreads-w32-2-9-1-release\Pre-built.2\lib\x86
  • 附加依赖项-->pthreadVC2.lib

 

3. 解决报错

(1) 如果代码运行报错:“timespec”;”struct”类型重定义。解决方法:在pthread.h在第35行加入如下代码:

 
#define HAVE_STRUCT_TIMESPEC

或者在项目属性->CC++->预处理器->预处理器定义添加HAVE_STRUCT_TIMESPEC

 

(2) 如果代码运行报错:找不到pthreadVC2.dll。解决方法:将pthreadVC2.dll拷贝到项目的Debug目录下

或者 打开Pre-built.2文件夹,有两个不同平台的pthreadVC2.dll,把x64下的文件放到C:\Windows\System32\下, 把x86文件夹放到C:\Windows\SysWOW64\下。

 

4. 测试代码

 
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>//使用多线程时需要添加<pthread.h>这个头文件
#include <Windows.h>void* pFunc(void* arg)
{int m = 1;while (1) {printf("线程 --- m: %d\n", m++);Sleep(1000);}
}int main() 
{int n = 1;//创建一个线程pthread_t pid;pthread_create(&pid, NULL, pFunc, NULL);while (1) {printf("主函数 --- n: %d\n", n++);Sleep(1000);}return 0;
}

运行结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/774080.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows安全策略

Windows 安全策略是系统管理的一部分,用于设置和管理计算机或网络的安全配置。保护系统免受未经授权的访问和其他安全威胁。常见 Windows 安全策略分类: 1. 账户策略 (Account Policies) 账户策略管理用户账户的行为和属性,主要包括: • 密码策略: • 密码历史记录:限制用…

lca总结+树上差分

lca lca简称最近公共祖先——简介在此,不过多赘述 这里主要写的是倍增算法,oi-wiki上用的是vector,由于本人不会,只会用链表,所以这里就放链表的代码了例题加一个数组按倍增数组的方式存距离即可题解——点击查看代码 #include<bits/stdc++.h> #define int long lon…

基于OM6626/NRF528210系列的ESL电子价签应用

在竞争激烈的零售行业,效率和顾客体验至关重要。传统的纸质价签在更新频率、准确性和管理成本上存在诸多不足。而电子价签(ESL,Electronic Shelf Label)作为一种智能化解决方案,正在逐渐取代传统价签,帮助零售商提高运营效率和顾客满意度。01电子价签的优势 电子价签通过…

模拟退火

模拟退火 必须要单独开一个专题来讲模拟退火了。 看到身边很多同学写的模退都是不标准的,步长没有随温度的降低而减小,只能叫随机爬山。 系统的学习模退是跟着 Acwing 的 yxc,他写的模退给人一看就有一种豁然开朗,神清气爽的感觉,让你惊叹天下竟然还有如此精妙的算法。 是…

成为Apache SeaTunnel贡献者的N种方式

如何参与开源贡献参与开源贡献的常见方法有多种:1)参与解答 在社区中, 帮助使用过程中遇到困难的人,帮他们解释框架的用法也算是一种贡献。 2)文档贡献 帮助框架来完善文档,比如说将英文文档翻译为中文,纠正文档里面的错误单词,这 是很多人参与开源贡献的第一步。 3)代…

构建个性化财务数据看板,免费可视化工具来助力

财务月度数据,作为企业经营的晴雨表,其重要性不言而喻。然而,面对海量、复杂的数据,如何快速提炼关键信息,形成直观易懂的洞察报告,成为了众多企业面临的挑战。随着技术的不断进步,可视化工具正逐步成为财务数据分析领域的得力助手,帮助企业轻松构建财务月度数据看板,…

企业级Scrum敏捷开发培训:推动团队高效运作

“企业级Scrum敏捷开发培训:推动团队高效运作”​ 在当今快速变化的商业环境中,企业必须不断创新和快速响应市场需求,以保持竞争优势。Scrum敏捷开发方法作为一种高效的项目管理框架,已被全球众多企业采用,用于提高团队协作和交付速度。为了帮助企业更好地理解和应用Scrum…

关于VMware workstation添加本地物理磁盘时候提示“未能为设备XX加载分区,权限不足,无法访问文件”的解决办法

前言:玩虚拟机这么久了,原先一直是直接初始化虚拟机的时候按照流程新建虚拟机硬盘,但是正常情况下虚拟机硬盘与物理机硬盘是隔离开的,无法直接相互访问 正常情况下 是安装vm tools来进行相互间文件传输,或者将物理磁盘上的文件拷贝到U盘,当插上U盘的时候选择连接到对应的…

记一个kvm虚拟器迁移后无法启动故障

参考 https://www.cnblogs.com/joshua317/p/18061002故障现象 kvm虚拟机从一台主机迁移至另外一台主机后启动失败 报错信息如下# Type "journalctl" to view system logs.使用命令查看错误信息 # Failed to mount /sysroot原因分析 CentOS系统启动时出现Failed to mo…

Win11系统C盘拒绝访问或打不开怎么办???

在使用Win11系统的时候,有用户可能会遇到C盘拒绝访问或者无法打开的情况,因此可能会感到困惑和无助。而这通常是由于权限设置问题或者其他系统错误导致的。不过,不必过于担心,因为这种情况通常可以通过一些简单的步骤来解决,一起来看看吧。C盘拒绝访问或打不开的解决方法方…

P9746 「KDOI-06-S」合并序列

mx练习赛搬的,虽然数据不咋样,但是一步步的优化思路确实值得一记。 P9746 合并序列 题目大意: 给你 \(n(1\le n \le 500)\) 个数 \(a_1,a_2,\ldots a_n\)(\(a_i < 512\))。每次可以选一个3元组 \((i,j,k)\),满足 \(i<j<k\),并且 \(a_i\oplus a_j\oplus a_k=0…