`
暴风雪
  • 浏览: 377390 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

VS2013配置pthread

 
阅读更多

转自http://blog.csdn.net/qianchenglenger/article/details/16907821

 

    Pthread是由POSIX提出的一套通用的线程库,在linux平台下,他被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的windows平台下进行pthread-w32的安装,在网络上有类似的文章,但是讲的都是比较老的平台,在windows8下支持并不全面,不过可以作为参考。我们在这里贴出几个网址,供参考使用。

       Windows 7 64bit和Visual Studio 2010下安装及使用Pthread-w32 2.8 

       windows下使用pthread库(转)

        如果你的是XP系统或者win7 32位系统,那么,那两篇文章已经足以你完成pthread-w32的安装了。现在,我们开始讲我们的尝试过程。

一、安装平台

 

        windows8 64位系统,Microsoft Visual Studio 2012

 

二、pthreads-w32 下载地址

 

        我们这里下载最新版本pthreads-w32-2-9-1

        ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip

        下载后解压,可以看到共有三个文件夹

        

        我们用到的主要是“Pre-built.2”这个文件夹下的三个文件夹,分别是动态链接库、头文件、静态链接库

          

三、配置头文件及静态链接库

 

        这里有多种方式,我们这里只提到我们用到的一种,总之目的是让我们建立的工程能够找到对应的头文件、静态库文件,以及运行时程序能够找到动态链接库文件。

这里,我们直接把头文件拷贝到Visual Studio的默认路径的头文件中,即把include文件夹中的三个文件直接拷贝到Visual Studio安装目录下VC->include文件夹下,例如我将include中文件拷贝到的位置是

E:\Program Files\Microsoft Visual Studio 11.0\VC\include

这样,我们就不必每次在项目用到时都配置一遍,特别是在Visual Studio2012 貌似不支持全局的头文件配置时(不确定,如果谁找到了可以告诉我一声),这种方式对于经常会建一些小项目的人来说,相对节省时间。

        同样的办法与原因,我们也可以把lib文件夹下的内容拷贝到Visual Studio安装目录下默认的lib寻找路径中,即VC->lib中,例如我将lib文件夹下的x64与x86两个文件直接拷贝到

        E:\Program Files\Microsoft Visual Studio 11.0\VC\lib

的下面。

 

四、配置动态链接库

 

       和头文件和静态链接库的配置方式相似,我们这里将dll文件夹的内容放到我们程序能够找到的位置,我们的方案是

把dll下的x64文件夹下的两个文件,即pthreadGC2.dll与pthreadVC2.dll拷贝到C:\Windows\System32下(用于64位程序的运行)

把dll下的x86文件夹下的五个文件,拷贝到C:\Windows\SysWOW64下(用于32位程序的运行),注意一下,千万不能将这些文件拷贝反位置,否则,程序运行时会提示说找不到对应的dll文件。这些在网上的很多文章中都被忽略掉了,所以我们特别提出。

 

五、运行测试

 

       完成以上配置之后,我们运行一下测试程序,证明我们的配置完成了

 

//main.cpp
#include <stdio.h>
#include <pthread.h>
#include <assert.h>

#pragma comment(lib, "pthreadVC2.lib")  //必须加上这句  )

void* Function_t(void* Param)
{
	printf("我是线程! ");
	pthread_t myid = pthread_self();
	printf("线程ID=%d ", myid);
	return NULL;
}

int main()
{
	pthread_t pid;
	pthread_attr_t attr;
	pthread_attr_init(&attr);
	pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS);
	pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
	pthread_create(&pid, &attr, Function_t, NULL);
	printf("======================================== ");
	getchar();
	pthread_attr_destroy(&attr);
	return 0;
}

 

分享到:
评论

相关推荐

    VS编译时无法打开 源 文件 "pthread.h处理方法

    VS编译时无法打开 源 文件 "pthread.h"。是因为微软VS没有pthread.h. 项目--属性--配置属性--c/c++常规--附加包含目录添加pthread.h所在的文件夹。

    pthread静态库,动态库,vs2019,win32/x64 ,debug/release

    pthread静态库,动态库,vs2019,win32/x64 ,debug/release

    CodeBlocks配置pthread环境-附件资源

    CodeBlocks配置pthread环境-附件资源

    pthread.h的配置包

    pthread.h,可配置在Window环境下,64位的在配置.lib时选择x86,x86中含有pthreadVC2.lib、pthreadVCE2.lib、pthreadVSE2.lib

    求圆周率值并行pthread程序

    带详细注释 用sqrt(1-x*x)函数在[0,1]上的积分值 求圆周率值并行pthread程序 西安电子科技大学 霍老师并行计算程序作业第1题 配置过程就略掉了,希望能有帮助。 mpi在前段时间已经上传

    Windows开发平台下 —— pthreads.h头文件的配置

    POSIX线程(POSIX threads),简称Pthreads,是线程的POSIX标准。该标准定义了创建和操纵线程的一整套API。在类Unix操作系统(Unix、Linux、Mac OS X等)中,都使用Pthreads作为操作系统的线程。...

    C语言线程调度与优先级配置示例

    通过配置线程调度策略与优先级,可使各线程按照设定的顺序执行,从而达到线程间同步的目的,线程属性配置函数包括: pthread_attr_init(&attr[i]);// 初始化线程属性 pthread_attr_setschedpolicy(&attr[i], SCHED...

    pthread-win32:克隆cvs-pthread-win32 +本地调整的导入(包括MSVC2008-MSVC2019项目文件)

    主要版本增量引入了两个ABI更改以及其他命名更改,这些更改将需要重新编译链接应用程序,并且可能对配置文件和源文件中的编译时宏引用进行了一些文本更改,例如PTW32_ *更改为PTW32_ ,ptw32_更改为ptw32_ *等。...

    ThreadLocal:可移植和实现可配置的c ++ 11,例如线程本地

    线程本地 可移植,实现可配置,并且与c++11 thread_local兼容。 使用宏THREADL_LOCA(T)的相同代码支持由宏USE_STD_THREAD_LOCAL控制的不同实现。...c++11 thread_local不适用于vs2013,macOS &lt;10&gt; )必须具有静态

    C语言使用pthread多线程编程

     运行之前需要做一些配置:  1.下载PTHREAD的WINDOWS开发包 pthreads-w32-2-4-0-release.exe(任何一个版本均可)  http://sourceware.org/pthreads-win32/ ,解压到一个目录。  2.找到include和lib文件夹,...

    Windows下使用Dev-C++开发基于pthread.h的多线程程序实例

    三、配置Dev-C++编译选项 1)点击“工具”→“编译选项”→“目录”→“c++包含文件”,浏览到刚才解压的pthread目录,选择E:\DEV-CPP\Pthread\Pre-built.2\include,添加。 2)点击“工具”→“编译选项”→“目录...

    win下Thread安装包

    win下配置Pthread需要的安装包,下载之后,解压即可。

    rpi4-pthread-blink:一个简单的命令行程序,使用pthread以伪随机间隔在树莓派pi 4上切换多个GPIO引脚状态

    rpi4-pthread-blink 一个简单的命令行程序,使用libgpiod和pthread以伪随机间隔切换树莓派pi 4上的... 您还需要安装和配置必要的构建工具和库(本自述文件的范围之外)。 然后可以使用随附的Makefile构建该应用程序。

    onvif-server.zip

    在common.h文件配置ip,在onvif_server_interface.c文件设置rtsp流地址,目前在Mac和linux测试没问题,在windows下需要配置pthread.h

    windows下crf++的python接口安装需要文件

    windows下crf++的python配置需要的文件: 运行环境:vs2013,python2.7.13 32位,win8.1 64位 包含文件 crfpp.h crfpp.lib pthread.lib libcrfpp.dll 这几个应该就够了,少的话给我留言

    C++编译器配置

    在C++中运行多线程运行时,常常缺少pthread.h文件,在这里可以下载这个文件对编译器进行配置。

    多线程与智能指针.pdf

    POSIX线程 POSIX 可移植操作系统接⼝,标准定义了操作系统应该为应⽤程序提供的接⼝标准 Windows上使⽤ 配置: cmake_minimum_required (VERSION 3.8) include_directories("XXX/pthreads-w32-2-9-1-release/Pre-...

    内存池的实现VC++

    用VC++内存池的实现,根据我们公司的需要,我的这个内存池只支持两个线程同时访问,而且是一个申请线程和一个释放线程,由于要用到pthread库,所以你必须先链接好,pthreadVC2.lib在文件夹中,只要你配置好就能直接...

    求圆周率值并行MPI C程序

    带详细注释 利用sqrt(1-x*x)函数在[0,1]上的积分值 求圆周率值并行MPI C程序 西安电子科技大学 霍老师并行计算程序作业第1题 配置过程就略掉了,pthread 和 openMP的后续推出

Global site tag (gtag.js) - Google Analytics