
c++
文章平均质量分 55
啥时候能毕业啊
这个作者很懒,什么都没留下…
展开
-
内存栅栏 内存模型
问题:上面的代码, a和b的写操作, 顺序是怎样的?observe输出是什么?仔细分析下,就能得出下面的几种情况:a=0 b =0a=1 b=2a=1 b=0a=0 b=2前三种情况都好理解,但是a=0 b=2这种情况,是不是感觉不好理解?为什么会出现a=0 b=2这种看起来不太合理的情况?这就涉及到内存栅栏了,内存模型的一致性问题。我们都知道代码编译的时候,编译器会对代码进行优化,如gcc编译参数 :-O0表示不做优化-O1为默认优化。原创 2024-04-20 11:14:52 · 1352 阅读 · 0 评论 -
epoll比select,poll性能更好吗
以前一直以为epoll模型比select和poll性能更好,毕竟select和poll都是轮询,即每次调用都扫描整个文件描述符集合,将其中就绪的文件描述符返回给用户程序,因此它们检测就绪事件算法复杂度是o(n)。epoll_wait采用回调的方式,内核检测到就绪的文件描述符时,触发回调,回调将该文件描述符对应的事件插入内核就绪队列,内核最后在适当的时间将该就绪队列中的内容拷贝到用户空间。因此epo原创 2018-01-22 17:23:52 · 1889 阅读 · 2 评论 -
转 epoll_wait Interrupted system call
2012年12月09日 12:37:20yiitz阅读数:1584我们在利用 gdb 调试带有 epoll_wait select sem_wat 的多线程代码的时候可能会出现非正常返回 -1 的情况,错误原因是:Interrupted system call。这是由于gdb调试的时候会在断点处插入一条中断指令,当程序执行到该断点处的时候会发送一个SIGTRAP信号,程序转...转载 2019-05-15 18:42:35 · 1584 阅读 · 0 评论 -
C++ POD类型
C++ POD类型https://mp.weixin.qq.com/s/kuerkGFu-XWDKUzLv3PgQA在C++11标准中,POD出现的概率特别高,目测是非常重要的一个概念,以往都是看的一知半解。今天抽空专门研究下POD究竟是什么,到底有多重要,有什么作用呢?POD (Plain Old Data),是C++语言的标准中定义的一类数据结构,通常用于说明一个类型的属性,...原创 2019-05-27 16:30:44 · 2592 阅读 · 0 评论 -
哈希表除留取余法的桶个数为什么是质数
可先科普下质数的概念:质数,也就是素数,就是指一个大于1的自然数,约数(因数)只有1和它自己,否则叫合数。除留取余,就是哈希函数将关键字被某个不大于哈希表长m的数p除后所得余数为哈希地址。这是最常用、也最简单的构造哈希函数的方法。当然,也可以对关键字直接取模,也可以折叠、平方取中等运算后取模。那么问题来了,这个p取多大呢?p的取值不好,会不会造成哈希函数的不均匀?先看一个简单的例子:有一个...原创 2019-06-04 08:54:46 · 6432 阅读 · 4 评论 -
一个奇怪的动态库函数链接无法找到定义的问题
今天帮助同事查找一个问题,就是他编译了一个动态库。然后用demo加载这个动态库,有一个函数被调用的时候,始终无法找到定义,即undefined reference,而其他函数都没有问题,但是格式都是一样的。用nm -D查看这个动态库,发觉其他函数都正常,只有这个函数名称被改变,就是前面加了一些字符,后面也加了一些字符。仔细排查,发觉函数中有个参数 HWND,其他的参数都是基本类型,而这个参...原创 2019-07-19 15:25:21 · 2275 阅读 · 0 评论 -
FFmpeg码率控制及内置编码参数介绍
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 ...转载 2019-07-26 15:09:40 · 1266 阅读 · 0 评论