C/C++ Learning Resources
C/C++ 学习资料,包括但不限于文章、书籍、代码库、教程、视频。
Latency Numbers Every Programmer Should Know
Lock-Free Programming
- An Introduction to Lock-Free Programming
- A Fast Lock-Free Queue for C++
- A Fast General Purpose Lock-Free Queue for C++
- Detailed Design of a Lock-Free Queue
Metaprogramming
- Modern Template Metaprogramming: A Compendium, Part I by Walter E. Brown, CppCon 2014
- Modern Template Metaprogramming: A Compendium, Part II by Walter E. Brown, CppCon 2014
- Guest Lecture: Template Metaprogramming by Avery Wang, CS 106L Fall 2020, Slides
- Template Normal Programming (part 1 of 2) by Arthur O’Dwyer, CppCon 2016
- Template Normal Programming (part 2 of 2) by Arthur O’Dwyer, CppCon 2016
- C++ Template Metaprogramming by BitsOfQ, 2022
Articles
- C++ Rvalue References Explained by Thomas Becker
- Google C++ Style Guide
- C++ Core Guidelines
- What Every Programmer Should Know About Memory
- Understanding the Linux Virtual Memory Manager by Mel Gorman
- The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
- Why symbol visibility is good
- Executable and Linkable Format (ELF)
- Modern dynamic linking infrastructure for PLT
- The Log: What every software engineer should know about real-time data’s unifying abstraction
- SIMD for C++ Developers
- x86 Intrinsics Cheat Sheet
- Data-Parallel Execution using SIMD Instructions
- Design Docs at Google
- PRINCIPLES OF CHAOS ENGINEERING
- Boost application performance using asynchronous I/O - Learn when and how to use the POSIX AIO API
- Linux Asynchronous I/O Explained
- How to use the Linux AIO feature
- A new kernel polling interface
- io_submit: The epoll alternative you’ve never heard about
- Ringing in a new asynchronous I/O API
- Efficient IO with io_uring
- The rapid growth of io_uring
- An Introduction to the io_uring Asynchronous I/O Framework
- io_uring and networking in 2023
- AN INTRODUCTION TO C++ TRAITS
- RDMA Aware Networks Programming User Manual v1.7
Blogs
Books
- Linkers & Loaders
-
C
-
C++
-
Plus 适合 0 基础入门,Primer 则是学 C++ 必看书
-
Modern C++ Tutorial: C++11/14/17/20 On the Fly
非常精炼的一本介绍 Modern C++ 的手册
Libraries
- Abseil Common Libraries (C++).
- Arrow: a multi-language toolbox for accelerated data interchange and in-memory processing.
- cloudwu/coroutine: 基于 getcontext、makecontext、swapcontext 实现的协程库.
- LevelDB: a fast key-value storage library, under the hood is a LSM tree.
- liburing: a library that provides an efficient and convenient way to use the io_uring interface.
- spdlog: Fast C++ logging library.
- concurrentqueue: A fast multi-producer, multi-consumer lock-free concurrent queue for C++11.
Standards
Tutorial
Video
-
Miscellaneous
- Linux basic anti-debug
- Faster IO through io_uring by Jens Axboe, Kernel Recipes 2019
- What’s new with io_uring by Jens Axboe, Kernel Recipes 2022 Slides
-
YouTube Channel
-
适合初学者的一个 C++ 教学视频系列,作者不定期更新。建议一天看完(截至 2020/04/19 共 86 集),后面跟起来比较省事。主要介绍一些 C++ 的基础知识,较新的视频有介绍 C++ 17 的新特性,如 async,optional,any 等。
-
-
Talks
- Scott Mayers
- Matt Godbolt
- Jason Turner
- Chandler Carruth
- John Lakos
- Robert O’Callahan
- Vince Bridgers
- CppNow 2023
- From Templates to Concepts: Metaprogramming in C++ by Alex Dathskovsky
Copyright © 2016-2024 by 赵军旺