zoukankan      html  css  js  c++  java
  • VS2013 配置pthread

    原文:http://www.cnblogs.com/coolqiyu/p/5693461.html

    参考:http://blog.csdn.net/qianchenglenger/article/details/16907821

    一、下载地址

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

    解压后得到三个文件夹

    二、安装

    平台:win7 + VS2013

    1. 打开Pre-built.2,下面有三个文件夹:dll, include, lib及其它文件。

    2. 先查看VS2013的相关属性

    项目—属性—VC++目录—包含目录(include)/库目录(lib)

    库目录: 库文件的默认查找路径,也就是宏值$(VC_LibraryPath_x86)

    3. 拷贝include/lib

    • Pre-built.2/include下的三个文件(pthread.h/sched.h/semaphore.h)放到 $(VC_IncludePath)下    [x64系统:C:Program Files (x86)Microsoft Visual Studio 12.0VCinclude] 
    • Pre-built.2/lib下的两个文件夹(x64/x86)放到 $(VC_LibraryPath_x86)下   [x64系统:C:Program Files (x86)Microsoft Visual Studio 12.0VClib]

    4. 拷贝动态链接库

    • Pre-built.2/dll/x64下的两个文件放到C:WindowsSystem32(32位程序)
    • Pre-built.2/dll/x86下的五个文件放到C:WindowsSysWOW64(64位程序)

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

    三、例子

    #include <stdio.h>
    #include <pthread.h>
    #include <assert.h>
    
    #pragma comment(lib,"x86/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;
    }
    

      

    复制代码
     1 #include <stdio.h>
     2 #include <pthread.h>
     3 #include <assert.h>
     4 
     5 #pragma comment(lib,"x86/pthreadVC2.lib")
     6 
     7 void* Function_t(void* Param)
     8 {
     9     printf("我是线程! ");
    10     pthread_t myid = pthread_self();
    11     printf("线程ID=%d ", myid);
    12     return NULL;
    13 }
    14 
    15 int main()
    16 {
    17     pthread_t pid;
    18     pthread_attr_t attr;
    19     pthread_attr_init(&attr);
    20     pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS);
    21     pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
    22     pthread_create(&pid, &attr, Function_t, NULL);
    23     printf("======================================== ");
    24     getchar();
    25     pthread_attr_destroy(&attr);
    26     return 0;
    27 }
    复制代码
  • 相关阅读:
    配置navigation bar外观
    加急审核
    UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
    打开某个好友的聊天界面
    ALAssets的两种用法
    更改appstore开发商名字
    回调函数的使用
    相应字体所占的位置大小
    IOS的变量前加extern和static字段
    iOS开发代码规范(通用)
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7326022.html
Copyright © 2011-2022 走看看