提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 为什么会要用到pthread库?
  • 一、pthread库下载
  • 二、使用步骤
    • 1.创建VS工程
    • 2.设置环境变量
      • 2.1动态载入
      • 2.2静态载入
  • 三、结语

为什么会要用到pthread库?

  pthread库是Linux的多线程库,通常在Windows下使用该库大多数是为了实现与Linux的跨平台兼容。
  如果你为了在Windows环境下实现多线程,可以考虑Windows自带的多线程API。
  当然你也可以使用宏定义的方式,区分windows与Linux环境在执行对应的多线程接口,实现跨平台运行,毕竟条条大路通罗马。
  以上只为发散思维,下面进入正题


一、pthread库下载

  如果你已经有了该库,那么该资源可以不用下载。

链接:https://pan.baidu.com/s/11_AZhBdpATCCMKYgaSsVGQ
提取码:tsaw
PS:讨厌那些动不动就把资源丢到CSDN上骗积分的人!这让没有积分的人怎么下载?

二、使用步骤

演示环境 Win10 + VS2015

1.创建VS工程

点击文件->新建->项目->选择Win32项目->确定,选择控制台应用程序->勾选空项目,完成创建。   右键源文件->添加->新建项,创建一个.cpp文件,取名为main.cpp

这只是创建一个演示工程,如果你已经有一个项目了,这个步骤可以跳过。

2.设置环境变量

将解压后的pthread文件夹丢到工程目录下

接下来将通过动态载入静态载入两种方式讲解如何配置pthread库环境,请根据项目需要任选其一

2.1动态载入

1.右键项目工程,选择属性,进入属性页


以Release—X64环境为例
2.选择链接器->常规->附加库目录输入
pthread\lib\v110\x64\Release\dynamic\cdecl

这里选择的是V110版本,X64环境,Release模式,动态载入,cdecl调用方式。
当然你也可以选择其他版本或者其他调用方式,只需要在文件夹中找到对应文件即可。

3.选择链接器->输入->附加依赖项输入
libpthread.lib
这个其实就是第2步中目标文件夹中的文件

4.选择C/C++ ->常规->附加包含目录输入
pthread\include

5.将 pthread\bin\v110\x64\Release\dynamic\cdecl 目录下的.dll放到项目工程目录

注意:这里的dll必须和lib相对应,除了开头的bin 和lib 文件夹有不同外,其他的路径是相同的

6.随意编写一个测试程序,如果程序正常启动表示环境搭建完成

#include<stdio.h>
#include<pthread.h>
#include<Windows.h>void*Function_t(void* Param)
{pthread_t myid = pthread_self();while (1){printf("线程ID=%d \n", myid);Sleep(1000);}return NULL;
}int main()
{pthread_t pid;pthread_create(&pid, NULL, Function_t, NULL);while (1){printf("in fatherprocess!\n");Sleep(1000);}getchar();return 1;
}

2.2静态载入

使用动态载入的方式使得程序必须依赖其dll,如果dll丢失,将导致程序无法运行。所以,在某些时候,使用静态载入的方式,也是一种不错的选择。

1.右键项目工程,选择属性,进入属性页

同样,以Release—X64环境为例
2.选择链接器->常规->附加库目录输入
pthread\lib\v110\x64\Release\static\cdecl

3.选择链接器->输入->附加依赖项输入
libpthread-static.lib
这个其实就是第2步中目标文件夹中的文件


4.选择C/C++ ->常规->附加包含目录输入
pthread\include

5.选择C/C++ ->预处理器->预处理器定义输入
PTW32_STATIC_LIB;

6.使用2.1.6中的程序编译运行即可。

三、结语

不同的载入方式有着各自的优缺点,请依据项目需要进行选择。

如果你觉得这篇文章对你有帮助,请在文章的左下角点个赞,有问题欢迎留言,谢谢你的反馈。

pthread+Windows环境搭建相关推荐

  1. Kafka单机Windows环境搭建

    Kafka单机Windows环境搭建 1,安装jdk1.8:安装目录不能有中文空格: 2,下载zookeeper,https://mirrors.cnnic.cn/apache/zookeeper/z ...

  2. JAVA JDK windows环境搭建

    JAVA JDK windows环境搭建 系统环境: windows 10 , JDK 1.7 操作步骤: 1.下载JDK,全部选择默认,直接点击下一步 2.配置环境变量 打开环境变量 变量设置 JA ...

  3. Flutter之Windows环境搭建

    Flutter之Windows环境搭建 原创作者:只能陪你走一程 原文地址:https://www.jianshu.com/p/a78fd5e5116d 官方网址:https://flutter.io ...

  4. Windows 环境搭建 git 服务

    Windows 环境搭建 git 服务 有时候在本地开发个人项目, 需要对代码进行版本管理, 可在 Windows 上搭建一个自己使用的 git 服务器 当前搭建系统环境 Windows10 安装Gi ...

  5. tinygo的windows环境搭建及简单例程

    windows 环境搭建 安装 g 这里还是推荐g这个 go 的多版本管理工具,类似 NodeJS 的 nvm,Python 的 virtualenv. 官网下载: https://github.co ...

  6. RockChip Android平台抓取android trace的windows环境搭建

    RockChip Android平台抓取android trace的windows环境搭建的步骤 安装python2.7.9 下载链接: https://www.python.org/download ...

  7. kafka windows环境搭建 SASL_PLAINTEXT/SCRAM

    kafka windows环境搭建 SASL_PLAINTEXT/SCRAM acl认证记录 一.kafka 下载参考地址 https://kafka.apache.org/downloads 二.环 ...

  8. ESC32 windows 环境搭建【Visual Studio Code】

    ESP32 windows 环境搭建 第一步:工具准备 1.Visual Studio Code下载 2.工具链下载 3.SDK下载 第二步:搭建环境 1.Visual Studio Code安装 2 ...

  9. 高通平台上的AMSS(Modem端) windows环境搭建

    高通平台上的AMSS(Modeom端)Windows环境搭建 一.首先简单介绍一下,高通平台7&8系列平台的软硬件架构. 如图: 硬件上采用的是ARM9+ARM11(最新的采用Cotex-A8 ...

最新文章

  1. 对于Dubbo一些自己的答案
  2. finetune与Bert
  3. 指令数据采集(五)--指令的条件的执行判断
  4. 周末ROS学习沙龙第五期——IMU应用、红外应用、语音应用
  5. Java数组与容器类分析资料--数组、List和Set、Map-asp.net关注
  6. 造成跨域的原因和解决方法
  7. Linux命令:find
  8. NGSL + NAWL 单词表 以及学习网站
  9. 将一个javaBean中非空的属性合并到另一个javaBean中
  10. Real Estate Photography: Exterior at Twilight 房地产摄影:暮光之城 Lynda课程中文字幕
  11. 音频特征(2):时域图、频谱图、语谱图(时频谱图)
  12. 【转自心声】华为眼中管理者的18种惰怠行为
  13. 品质担当,有效提升办公生产力,永艺XY人体工学椅开箱实测
  14. 使用chkconfig管理开机自启动
  15. 2021.01.05【读书笔记】丨生物信息学与功能基因组学(第四章 局部比对搜索基本工具-BLAST 下)
  16. 计算机与机械专业 有什么大学排名,2017机械排名211大学排名
  17. NRF51822 小黄车智能锁 逆向工程
  18. 【python】PyQt6和pyqt6-tools在PyCharm2021的详细配置方法
  19. vba英文翻译成中文
  20. 百度被黑事件,成互联网最热话题

热门文章

  1. Workflow_上传和下载Workflow编译方式(汇总)
  2. 网络协议学习-mDNS
  3. HBuilderX的下载和安装--详细
  4. CIFAR10代码解释
  5. Materials - 使用Substance Designer制作哥特式花纹
  6. Facebook Android集成和开发
  7. nuc980 rt-thread spinand 程序烧录及Flash分区说明
  8. 未来教育python全程班百度云_2019、3未来教育等级考试
  9. Android 11.0 SystemUI导航栏固定在底部显示的修改
  10. 超声波液位计丢波状态该如何解决呢?