- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 包含函数体的 INLINE 不是一种好的实践
经过查看头文件 ( wchar.h) , 发现是一个有函数体的 inline 函数. 可以看出上面的错误 是由于 inline 编译未生效导致的.经搜索需要开启优化级别 o2 才可以内联. 经添加 -o2 选项后, 错误消失, 编译成功.但这引来了另一个问题;那就是没有启用优化的代码, 将不能使用 wchar.h 头文件.毫无疑问, inline 的函数, 将其函数体放在头文件中, 不是一种好的实践.前几天碰到了一个很奇怪地错误: wmemcpy 已经定义在 A.obj 中.
2022-09-19 09:20:59 143 1
原创 2021-02-05
//一个 C++ 转 GO 的程序员的自白.GO ://一个文件下载需求过滤需求;var file_been_found_lock sync.Mutexvar file_been_found map[string]int = make(map[string]int)func DownloadFileTreeBat(rtree *deep_tree, wg *sync.WaitGroup) { is_need_download := false url := ...
2021-02-05 14:32:16 351 2
原创 C++ 相关
1: && 与 std::move &&的存在意义我个人不太清楚. 所有的一切都可以在左值&的能力下完成. &&最大的好处是可以提供另一种形式的拷贝构造函数(称做移动构造函数) 而这种构造函数用于变量出现后又立即销毁的情况. 然而无论是返回值引用还是参数引用 , 都可以完成同样的功能, &&并非必须. 尤其是参数...
2018-12-21 11:51:29 162
原创 windows, linux 各自的优缺点 (或者说特点?)
一: 程序异常接管 windows 核心编程中, 作者指出windows 是在系统层面接管异常的. 也就是说可以将异常调试发送到系统中的任何想要调试的程序. 目前linux 没有此功能, 估计应该是版本众多, 外加此功能并不重要, 所以并未支持, linux 是进程接收异常. 并处理.二: IOCPIOCP 是真正的完全的异步. EPOLL 不是, IOCP有两个...
2018-07-30 12:06:15 489
原创 QT 中与我们思维不符的片段
1: 如下: 第二个lastIndexOf返回6, 不太符合我们的思维. 按理说匹配的是前7个字符, 但实际匹配的是"crazy az"; 就是说加上了 7 + (strlen("az")-1) 这个匹配串首字母外的长度. QString x = "crazy azimuths"; QString y = "az"; qDebug()<< x.lastIn...
2018-06-05 10:56:24 206
原创 关于QTableWidget 表头设置无效的原因
表头无效一般是由于 未设置列数量;调用 setColumnCount 后,再调用 setHorizontalHeaderLabels 即可生效;;当然最好的情况是 setHorizontalHeaderLabels 时根据参数的大小自动设置列数; 但QT未支持;;...
2018-02-08 10:36:11 10877 3
原创 获取直播流的sps信息
用ffmpeg做网络直播流的接收时,需要获取流的帧率等信息;而这些信息保存在sps中,所以需要获取到sps的相关数据;在 ffmpeg 中 sps 信息保存在AVCodecContext 的 extradata 字段中;由于是直播流,所以不应试图通过 流过滤器 进行格式转换,而应当对数据进行直接解析; 通过 baidu;找到了 extradata 中可能保存的数据封装格式;一共两种:...
2017-05-09 16:02:13 2187
原创 异步传输中的批量发送问题
网络传输涉及发送与接收两方面, 其中接收较为简单, 而发送却非常复杂, 通常会涉及一二个难点;一: 异步发送时的数据乱序列问题 如果不等上一次数据发完就进行下一次的异步发送, 无法对包的先后顺序进行控制, 所以接收端将无法解析包,导致接收的数据没有任何意义; 针对这个现象, 有人提出弄一个队列, 向队列投递数据, 发送完队列中的一个再发下一个; 这种方法是
2017-04-13 20:42:56 589
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人