pthread多线程安装与测试

  1. pthread多线程安装与测试


    一、网上下载pthread包:pthreads-w32-2-9-1-release.zip
    二、里面还有三个文件:Pre-built.2、pthreads.2、QueueUserAPCEx
    ① 找到Pre-built.2>include,可以看见三个头文件;
    ② 打开pthread.h, 添加如下一句加粗代码:
    #if !defined( PTHREAD_H )
    #define PTHREAD_H
    #define HAVE_STRUCT_TIMESPEC
    保存。
    如果不添加这段代码,会报error C2011: “timespec”:“struct”类型重定义的错误,这是因为C++ pthread pthread.h 中的 timespec 和time.h 中的 结构定义重复了 ,同时两个头文件中的条件编译条件不同,所以造成结构重复定义,简单快速见效的解决方法就是注释pthread.h 头文件中的struct timespce 定义所以要先对pthread进行修改。
    ③ 将三个头文件移动到vs2015的include目录下:
    D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
    三、Pre-built.2文件夹下有三个文件:
      dll——动态链接库
      include——头文件
      lib——静态链接库
      ①把lib文件夹下的静态库文件x64和x86文件夹拷贝到vs2015的lib目录下:
      D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
    ②配置动态链接库:
    Pre-built.2\dll\x86下的文件拷贝到C:\Windows\SysWOW64目录下
    Pre-built.2\dll\x64下的文件拷贝到C:\Windows\System32目录下
    四、测试:
    #include “stdafx.h”
    #include
    #pragma comment(lib,“pthreadVC2.lib”)
    // note:此处易出现 模块计算机类型x86与目标计算机类型x64不一致的错误,应在项目
    连接器—常规----附加库目录—填写相应的目录:
    D:\Program Files %28x86%29\Microsoft Visual Studio 14.0\VC\lib\x64
    int main(int argc, char *argv[])
    {
    return 0;
    }
    若成功,说明配置正确。

note:C++ 有自带的thread,参见std::thread
https://www.runoob.com/w3cnote/cpp-std-thread.html

你可能感兴趣的:(c++)