VS(visual studio)配置pthread

百度了好多教程,没有一个靠谱的,都是东复制西粘贴,凑成一片教程,根本无法实现,亲测之后决定自己写一篇



1.ftp://sourceware.org/pub/pthreads-win32

到上面下载 pthreads-w32-2-8-0-release.exe文件,选定文件夹后解压。


2.Pre-built.2

解压后该目录会多出三个文件夹:Pre-built.2,pthreads.2,QueueUserAPCEx。进入Pre-built.2
在Project ->Pthread_ Properties -> Configuration Properties-> C/C++ -> General ->Additional Include Directories 中增加头文件路径(Pre-built.2下面的include)。
在Project ->Pthread_ Properties -> Configuration Properties-> Linker -> General-> Additional Library Directories 中增加库文件路径(Pre-built.2下面的lib)。


3.pthreadVC2.lib;pthreadVCE2.lib;pthreadVSE2.lib;

在Project ->Pthread_Test Properties -> Configuration Properties-> Linker -> Input ->Additional Dependencies中增加所依赖的库文件(pthreadVC2.lib;pthreadVCE2.lib;pthreadVSE2.lib;)。把三个都添加进去,虽然只需要一个,但是介于不知道vs的版本等原因,一概都添加进去。


4.测试代码

编译运行,如果弹出缺少“pthreadXXX.dll”,将pthread安装目录下的Pre-built.2\lib\pthreadXXX.dll 拷贝到 C:\Windows\SysWOW64下。

#include <pthread.h> 
#include <stdio.h> 
#define NUM_THREADS     5 
 
void *PrintHello(void *threadid) 
{ 
   int tid; 
   tid = (int)threadid; 
   printf("Hello World! It's me, thread #%d!\n", tid); 
   pthread_exit(NULL); 
} 
 
int main (int argc, char *argv[]) 
{ 
   pthread_t threads[NUM_THREADS]; 
   int rc, t; 
   for(t=0; t<NUM_THREADS; t++){ 
      printf("In main: creating thread %d\n", t); 
      rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t); 
      if (rc){ 
         printf("ERROR; return code from pthread_create() is %d\n", rc); 
         exit(-1); 
      } 
   } 
   system("pause");
   pthread_exit(NULL); 
} 


 


5.打完收功。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值