3 ms·
Well, how will Swift enforce that nobody outside of Apple distributes libraries that don't break ABI or API?
by ori_b 10y ago
Well, how will Swift enforce that nobody outside of Apple distributes libraries that don't break ABI or API?
- omeid2 10y agoWhile a compile can't enforce APIs, the ABI generated by compiler.
- ori_b 10y agoThe ABI is generated by the compiler in response to the code it is given. If you don't control the code, you can't guarantee an ABI. If you change the types of function arguments -- for example, adding fields to structs that are passed by value -- you will break ABI, even if the compiler doesn't change.
- ori_b 10y agoSo, for C++, a good document about keeping ABI compatibility: https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#Note_about_ABI https://community.kde.org/Policies/Binary_Compatibility_Issu...