在 Cygwin 下使用 C++ 标准线程库

大致上是参照 这篇文章完成的, gcc的版本是gcc4.6
懒的打字, 我就稍微引用一下原文吧;
首先是环境,gcc 4.6用的 C++ 库是 libstdc++ v3,这个库的完整代码包含在 gcc 代码里,我这里使用的是在 Cygwin中升级GCC中提供的gcc地址: ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/
1. 升级完gcc后发现对C++0x支持基本正确, 不过测试线程库时发现无法编译通过, 显示std::thread未定义, goolge了一下发现需要添加如下宏定义: 
#ifdef __GXX_EXPERIMENTAL_CXX0X__
  #define _GLIBCXX_HAS_GTHREADS 1
  #define _GLIBCXX__PTHREADS 1
  //#define _POSIX_TIMEOUTS=1
 #endif
注意这里与MinGW的不同, _POSIX_TIMEOUTS这个宏定义在cygwin下是不需要的, 因为如果添加的话会显示pthread的函数pthread_mutex_timedlock未定义, 查了一下发现cygwin中的pthread.h不存在该函数, 这个函数是存在于p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值