摘要: 1. 引言 在新的 C++11 标准中,引入并发编程的一些基础组件: 线程(thread) 、 互斥锁(mutex) 、 条件变量(condition_variable) 等,凭借这些,就足够我设计一个平台无关的 线程池 组件了。下面就详细介绍一下这个线程池组件。 2. 结构设计图 需要特别说明的是 阅读全文
posted @ 2020-01-01 22:51 Gaaagaa 阅读(1144) 评论(0) 推荐(0)
摘要: 网络字节序转换的操作函数有这几个 ntohs() 、 htons() 、 ntohl() 、 htonl() ,不同平台下这几个函数依赖的头文件各有千秋,而且还没有 64位的转换接口 。写跨平台代码的时候,为了省掉这些差异,干脆自己来实现一套,这里做个笔记。 1. 知识要点 大端模式(Big end 阅读全文
posted @ 2020-01-01 22:48 Gaaagaa 阅读(873) 评论(0) 推荐(0)
摘要: 在我以前的实际项目中,曾利用 libvlc 去解码音视频媒体数据(如 RTSP、本地文件 等),通过其提供的回调函数接口,攫取 RGB图像 进行图像分析,如 人脸识别、运动检测 等一类的产品应用。除此之外,只要提供适当的 "MRL" ,配合选项参数,VLC 还可以进行屏幕录制、摄像头图像采集、麦克风 阅读全文
posted @ 2020-01-01 22:42 Gaaagaa 阅读(2105) 评论(0) 推荐(0)
摘要: 这几天打算封装 libvlc 实现一个简单的播放器操作类,用 QT 写 UI 测试程序的时候,发现播放进度的显示控件 QSlider 在处理鼠标点击时,并不能直接定位到鼠标按下的位置。为解决这一问题,我在网上看了几篇博文提供的解决办法,但实现的效果并不理想,主要的问题是: 鼠标点击定位时,出现位置偏 阅读全文
posted @ 2020-01-01 22:39 Gaaagaa 阅读(1478) 评论(0) 推荐(1)
摘要: 发现 zeromq 的 yqueue_t 模板类,其数据存储理念设计得非常妙。借这一理念,按照 STL 的泛型类 queue 的接口标准,我设计了一个线程安全的 单生产者/单消费者(单线程push/单线程pop) FIFO 队列,以此满足更为广泛的应用。 1. 数据存储理念的结构图 队列的整体结构上 阅读全文
posted @ 2020-01-01 22:36 Gaaagaa 阅读(1203) 评论(0) 推荐(0)
摘要: 1. 问题背景   在 C++11 的标准中,我们可以通过 (以常量整数值为索引号)操作 tuple 中的参数,而到了 C++14 之后的标准,新增了 (以数据类型为索引)的方式操作 tuple 中的参数。那么,若只是在 C++11 标准中,是否有办法使用 以数据类型为索引 的方 阅读全文
posted @ 2020-01-01 22:25 Gaaagaa 阅读(550) 评论(0) 推荐(0)
摘要: 问题背景   在实现可变参数列表中的类型统计功能前,我们先看看下面代码中的需求场景:   上面的代码中, 都是 的派生类,按照上面已经提供的三个 make_task() 接口,我们能不能只提供一个接口(如下面的代码所示),就可自动选择这三个接口之一创建 对象呢 阅读全文
posted @ 2020-01-01 22:24 Gaaagaa 阅读(286) 评论(0) 推荐(0)
摘要:   如标题所提到的,这个问题也让我烦恼了一会,前两天在某个论坛上(现在找不到出处了)看到有如下代码的解决办法,非常巧妙,在此整理并记录出来做备忘。 include include include / @struct X_check @brief 协助 X_tuple_has_ty 阅读全文
posted @ 2020-01-01 22:22 Gaaagaa 阅读(350) 评论(0) 推荐(0)
摘要:   tuple 的主要用途,就是把各种类型的参数组合成一个新的数据关联体(结构体),相当于早期的 std::pair 的泛化版本。   组合存储是方便了,但是,对于某些特定的应用场景,解包就成了个比较麻烦的事情。为此,我查看 gcc 8.2.0 版的 STL 阅读全文
posted @ 2020-01-01 22:21 Gaaagaa 阅读(930) 评论(0) 推荐(0)
摘要: 最近接手的一个客户端项目,需要获取网络时间戳进行超时判断,想到了使用NTP协议来实现。 在网上参看了不少博文,大多数人提供的C/C++代码过于杂乱,不宜在正式项目中使用(拒绝野代码)。 在此我重写了一遍,并在 Windows 与 Linux 两大平台上测试通过。 1. NTP 工作原理 NTP的基本 阅读全文
posted @ 2020-01-01 22:19 Gaaagaa 阅读(3779) 评论(0) 推荐(1)