应该读的博客

937 阅读6分钟

自己在封装mp4文件时,只写了文件头avformat_write_header(),和文件体av_interleaved_frame_write(),没注意写文件尾av_write_trailer(),导致mp4文件根本不完整

StkOvF的网友提供了解决方案,见ffmpeg - "moov atom not found" when using av_interleaved_write_frame but not avio_write - Stack Overflow
作者推荐这篇复用(封装)的文章FFmpeg: Muxing

火力教育的博客

火力教育 - 博客园 (cnblogs.com)

保罗的酒吧,当初看C++时间相关的类时

保罗的酒吧 (paul.pub)

知名开源库的注释版

chenyahui/AnnotatedCode: 知名开源代码库的注释版:C++、Golang等 (github.com)

开源C++服务器作者sylar的博客,相当于设计文档

sylar的博客 – C++,vimer,linux,推荐系统,搜索系统,分布式框架

C++的开源库

可能是国内最火的开源项目 —— C/C++ 篇 - 掘金 (juejin.cn)

muduo 源码剖析博客

muduo 源码剖析 | 编程沉思录 (cyhone.com)

muduo剖析博客

muduo源码剖析学习总结 (qq.com)

内存池设计与实现

内存池设计与实现 (qq.com)

C++20 有语言级的信号量counting_semaphore下面是参考文章

C++20 semaphore_一朵花开的时间-CSDN博客
std::counting_semaphore, std::binary_semaphore - cppreference.com

单机最大并发的讨论,这位知乎网友的专栏也值得一看

网络高并发编程 - 知乎 (zhihu.com)

<<C++ Concurrency in Action - SECOND EDITION>>中文开源译本

介绍 - 《C++ 并发编程实战 第二版 (C++ Concurrency in Action - SECOND EDITION)》 - 书栈网 · BookStack

施磊老师的视频课

  • stl部分值得多次看,注意分析时间/空间复杂度
  • 红黑树的5个特性是啥子?
  • 施磊老师讲符号的链接,局部符号,全局符号的链接的实现
  • 施磊老师博客 大秦坑王

博客郭老二_CSDN博客-Qt,视频,linux领域博主

  • ffmpeg
  • valgrind gdb
  • qt

个人博客,讲了线程亲和性,无锁编程

I'm Root lee ! (irootlee.com)

C++锁的种类,特点

(7 封私信) 如何理解互斥锁、条件锁、读写锁以及自旋锁? - 知乎 (zhihu.com)

线程cpu亲和性

com技术知乎资料

面经网站,很骚的站名帅地玩编程

知乎上一个提问"C++书单",网友高性能架构探索的回答值得看下

(6 封私信) 求大佬推荐一下C/C++书籍,一定要附为什么推荐? - 知乎 (zhihu.com)

浅显讲解条件变量std::condition_variable的使用,线程同步,防止虚假唤醒

使用条件变量的坑你知道吗? - 知乎 (zhihu.com)

开源C++日志库

高性能c++日志库 - 飞书文档 (feishu.cn)
hardcore-os/naruto: 高性能的c++日志库 (github.com)

网络并发编程模型Reactor Proactor

彻底搞懂Reactor模型和Proactor模型 - 云+社区 - 腾讯云 (tencent.com)
面试官:Reactor 和 Proactor 为什么性能高? - 知乎 (zhihu.com)
高性能IO模型分析-Reactor模式和Proactor模式(二) - 知乎 (zhihu.com)

全菜工程师小辉微信公众号记录一些后端开发文章,比如:网络IO,Redis中间件,网络模型Reactor``Proactor等文章值得看下

彻底搞懂Redis的线程模型 (qq.com)

nginx知乎高赞文章

8分钟带你深入浅出搞懂Nginx - 知乎 (zhihu.com)

muduo库用上了eventfd来做进程间同步的手段

Linux fd 系列 — eventfd 是什么? - 知乎 (zhihu.com)

epoll_create(EPOLL_CLOEXEC)设置EPOLL_CLOEXEC参数引发的linux事件思考,下面是参考文章

(7 封私信) 杨阳 - 知乎 (zhihu.com)

配置tasks.jsonlaunch.json,自己听懂了的视频

基于VSCode和CMake实现C/C++开发 | Linux篇_哔哩哔哩_bilibili

大小端字节序转换

(29条消息) 大小端与字节序转换_不算太晚-CSDN博客_大小端字节序转换

linux查看进程

cloud.tencent.com/developer/a…

valgrind调试

blog.csdn.net/fengbingchu…

动态库

10 | 动态链接:程序内部的“共享单车” (geekbang.org)
Linux动态链接为什么要用PLT和GOT表? - 知乎 (zhihu.com)

极客时间里讨论float实现及精度以及运用的注意点,并解决float精度丢失问题(很值得看,回头深究下C++数值计算库)

16 | 浮点数和定点数(下):深入理解浮点数到底有什么用? (geekbang.org)
IEEE-754:IEEE-754 Floating Point Converter (h-schmidt.net)
阮一峰的博客:浮点数的二进制表示 - 阮一峰的网络日志 (ruanyifeng.com)
C++数值库:数值库 - C++中文 - API参考文档 (apiref.com)

printf()格式化

printf - C++ Reference (cplusplus.com)
C语言格式输出函数printf()详解_C语言中文网 (biancheng.net)
中文版cpp文档:文件输入/输出 - C++中文 - API参考文档 (apiref.com)

uint32_tint等,沿革,操作系统的内置内置变量

C语言的整型溢出问题 | 酷 壳 - CoolShell
C++数据溢出(上溢和下溢) (biancheng.net)
c++ - Why is unsigned integer overflow defined behavior but signed integer overflow isn't? - Stack Overflow
int,int32_t,int64_t - brave-sailor - 博客园 (cnblogs.com)
(31条消息) C中int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t区别_Yummy-CSDN博客_int32_t
浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t - 知乎 (zhihu.com)

libev是一个通过 C 语言编写的,高性能的事件循环库,支持多种事件类型,与此类似的事件循环库还有 libevent、libubox 等

事件驱动库 libev 使用详解 (gohalo.me)
官网:libev (tst.eu)
Socket网络编程--Libev库学习(1) - 无脑仔的小明 - 博客园 (cnblogs.com)
libev设计与实现 | Charles的技术博客 (oserror.com)
libev使用方法 - joker8 - 博客园 (cnblogs.com)

极客时间,讲中断,异常,陷阱,故障,中止,比较重要,是理解异常的基础:28 | 异常和中断:程序出错了怎么办? (geekbang.org)

vscode插件推荐

超实用:10 款开发必备的 VS Code 插件! (qq.com)

设备IO 还是这个过程,极客时间 - 43 讲

43 | 输入输出设备:我们并不是只能用灯泡显示“0”和“1” (geekbang.org)
知乎文章,0拷贝技术:阿里二面:什么是mmap? - 知乎 (zhihu.com) 以及44节和48节都有价值拓展下 内核 <--> 用户态 之间的变化

罗剑锋老师的 C++实战笔记 对应的仓库,有一个完整的项目 section 5, (注意介绍编码规范等,自己没看仓库,但它的课程里文稿提到了): chronolaw/cpp_study: follow me to study modern c++ (github.com)

IO 与内核拷贝

阿里二面:什么是mmap? (qq.com)

epoll 的本质是什么?

看下知乎高赞回答:(1 封私信) epoll 或者 kqueue 的原理是什么? - 知乎 (zhihu.com)
知乎专栏:如果这篇文章说不清epoll的本质,那就过来掐死我吧! (1) - 知乎 (zhihu.com)

电子书资料 github tangtangcoding/C-C-: 程序员相关电子书资料免费分享,欢迎关注个人微信公众号:程序员编程指南 (github.com)

声网资料

文档中心 - 声网Agora