Naivety of Creating Cross-Platform, Modern C++ Libraries...
summary
AWS SDK for C++ targets C++11, uses CMake and a no dependencies philosophy (libcurl/OpenSSL on Unix, commoncrypto on Apple, WinHttp/Bcrypt on Windows), ships generated service clients, and defaults to a thread-pool async model built on synchronous calls. A pluggable custom memory allocator and abstract-factory hooks let games and embedded users control heaps and crypto; problems include GCC 4.8 crashes, fragile older Linux/CMake installs, libcurl/mobile quirks, outcome-based no-exception error handling that inflates binaries, and ABI changes from allocator types.
AI-written summary · about
chapters (19)
- 0:00Intro
- 2:37What is the AWS SDK for C++? Open Source
- 4:34Design Decision: Commit from the Beginning
- 5:50Design Decision: Use CMake
- 6:43Design Consequence: CMake
- 9:30Recommendations: CMake
- 15:02Recommendations: C++11
- 16:02Design Decisions: No Dependencies
- 21:43Recommendations: Dependencies Cont...
- 26:42Design Requirement: Allocation Control
- 27:42Design Decision: Allocator Hooks
- 29:47Design Consequences: Allocator Hooks
- 33:09Design Requirements: Customizable
- 34:08Design Decision: Use Polymorphism
- 35:59Design Consequences: Polymorphism
- 38:04Recommendations: Polymorphism
- 49:59Design Decision: Thread Model
- 51:22Design Consequences: Threading Model
- 53:06Recommendations: Threading Start with 10, work backwards
