![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
跨平台
文章平均质量分 82
jingqi_se
这个作者很懒,什么都没留下…
展开
-
跨平台中对于 信号量(semaphore) 的包装
信号量,常用于线程间同步。 说明: 跨平台宏(platform.hpp)的定义参见另一篇博文,当然截取代码实现时可以换成自己习惯的定义。跨平台中条件编译的使用使得代码不是那么容易看,但是还好每个函数只有一两句话windows/VC下使用系统API实现,其他情况下使用 pthread 提供的自旋锁 pthread_spinlock_t /** * @file - * @au原创 2013-11-02 14:39:57 · 1160 阅读 · 0 评论 -
跨平台中对于 自旋锁(spinlock) 的包装
以下代码在跨平台环境下包装了用户态自选锁(spinlock),支持以下平台: 操作系统linux、windows,编译器vc、gcc、mingw 说明: 跨平台宏(platform.hpp)的定义参见另一篇博文,当然截取代码实现时可以换成自己习惯的定义。跨平台中条件编译的使用使得代码不是那么容易看,但是还好每个函数只有一两句话自旋锁比互斥量轻量一些,适合使用在轻量任务的多线程同步中,会原创 2013-11-02 14:25:13 · 1778 阅读 · 0 评论 -
跨平台中对于 条件量(condition) 的包装
说明: 条件量(Condition)用于多线程同步,一个条件量常常与一个锁(windows下是临界区,linux下是pthread_mutex_t)同时使用跨平台宏(platform.hpp)的定义参见另一篇博文,当然截取代码实现时可以换成自己习惯的定义。跨平台中条件编译的使用使得其实现代码不是那么容易阅读,但是在使用这个包装类的时候就比较容易阅读了与条件量配合使用的锁类型 (跨平台代码原创 2013-11-02 14:49:01 · 901 阅读 · 0 评论 -
跨平台c/c++编码的预定义宏
c/c++中编写跨平台的代码时,难免需要根据不同的操作系统、编译器等准备不同的代码。 首先,不同平台中编译器预定义宏的参考资料 点击这里 其次,我本人仅关注以下平台:linux32/64-gcc, win32/64-vc, win32/64-mingw,这里给一个我自用的侦测上述平台的头文件 /** * @file - * @author jingqi * @date 2011-1原创 2013-11-02 13:14:24 · 2297 阅读 · 0 评论 -
跨平台中对于 读写锁(rwlock) 的包装
读写锁(rwlock)的跨平台包装,支持以下平台: 操作系统linux、windows,编译器vc、gcc、mingw 跨平台宏(platform.hpp)的定义参见另一篇博文,当然截取代码实现时可以换成自己习惯的定义。跨平台中条件编译的使用使得代码不是那么容易看,但是还好每个函数只有一两句话windows/VC下使用系统API实现,其他情况下使用 pthread 提供的自旋锁 pthr原创 2013-11-02 14:36:02 · 1073 阅读 · 0 评论