3 ms·
C++ ABI compat rules really hurt when they prevent you from evolving a library in a sensible way. Say that you really need to add a method to a virtual class.
by rectang 10y ago
C++ ABI compat rules really hurt when they prevent you from evolving a library in a sensible way. Say that you really need to add a method to a virtual class. Unless you planned ahead by adding placeholder methods, you're SOL. What a lousy design constraint!
This problem is solvable at the language/runtime level by resolving vtable offsets at runtime, but that doesn't help the existing C++ userbase.
- toolslive 10y agoIt hurts so much that the boost people decided they wouldn't even bother trying.
- teacup50 10y agoThis is a major flaw of C++'s ABI design, unfortunately, and one reason why we see so few supported ABI-stable C++ libraries shipped with major platforms. Most people just have to incorporate their C++ dependencies directly instead, as there is no supported ABI.