自己在封装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
火力教育的博客
保罗的酒吧,当初看C++时间相关的类时
知名开源库的注释版
chenyahui/AnnotatedCode: 知名开源代码库的注释版:C++、Golang等 (github.com)
开源C++服务器作者sylar的博客,相当于设计文档
sylar的博客 – C++,vimer,linux,推荐系统,搜索系统,分布式框架
C++的开源库
可能是国内最火的开源项目 —— C/C++ 篇 - 掘金 (juejin.cn)
muduo 源码剖析博客
muduo 源码剖析 | 编程沉思录 (cyhone.com)
muduo剖析博客
内存池设计与实现
C++20 有语言级的信号量counting_semaphore下面是参考文章
C++20 semaphore_一朵花开的时间-CSDN博客
std::counting_semaphore, std::binary_semaphore - cppreference.com
单机最大并发的讨论,这位知乎网友的专栏也值得一看
<<C++ Concurrency in Action - SECOND EDITION>>中文开源译本
介绍 - 《C++ 并发编程实战 第二版 (C++ Concurrency in Action - SECOND EDITION)》 - 书栈网 · BookStack
施磊老师的视频课
stl部分值得多次看,注意分析时间/空间复杂度- 红黑树的5个特性是啥子?
- 施磊老师讲符号的链接,局部符号,全局符号的链接的实现
- 施磊老师博客 大秦坑王
博客郭老二_CSDN博客-Qt,视频,linux领域博主
- ffmpeg
- valgrind gdb
- qt
个人博客,讲了线程亲和性,无锁编程
C++锁的种类,特点
(7 封私信) 如何理解互斥锁、条件锁、读写锁以及自旋锁? - 知乎 (zhihu.com)
线程cpu亲和性
linuxC++11 threads, affinity and hyperthreading - Eli Bendersky's website (thegreenplace.net)win
SetThreadAffinityMask function (winbase.h) - Win32 apps | Microsoft Docs
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等文章值得看下
nginx知乎高赞文章
8分钟带你深入浅出搞懂Nginx - 知乎 (zhihu.com)
muduo库用上了eventfd来做进程间同步的手段
Linux fd 系列 — eventfd 是什么? - 知乎 (zhihu.com)
epoll_create(EPOLL_CLOEXEC)设置EPOLL_CLOEXEC参数引发的linux事件思考,下面是参考文章
配置tasks.json和launch.json,自己听懂了的视频
基于VSCode和CMake实现C/C++开发 | Linux篇_哔哩哔哩_bilibili
大小端字节序转换
(29条消息) 大小端与字节序转换_不算太晚-CSDN博客_大小端字节序转换
linux查看进程
cloud.tencent.com/developer/a…
valgrind调试
动态库
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_t 与 int等,沿革,操作系统的内置内置变量
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 与内核拷贝
epoll 的本质是什么?
看下知乎高赞回答:(1 封私信) epoll 或者 kqueue 的原理是什么? - 知乎 (zhihu.com)
知乎专栏:如果这篇文章说不清epoll的本质,那就过来掐死我吧! (1) - 知乎 (zhihu.com)