For two (dynamic) libraries to work together they need:
API compatibility ABI compatibility If you have correct function, parameter names, and are able to access it (itโs not private) then youโre good. The compiler validates if classA is using the correct Programming Interface from classB ๐ API (Application Programming Interface)
Example of API usage struct House { var address = Address(streetAddress: "1100 Happy St.") } struct Person { var address = Address("1100 Sad St....
In the previous post we talked about how the linkerโs selective loading helps solve the bloat issue. But there are some other limitations to static linking. Because of those limitations software engineers created Dynamic libraries and the Dynamic Linker. In this post weโll go through some of those limitations and discuss the trade-offs between the two ways of linking and their sizing impact.
Inspired by Link fast: Improve build and launch times - 15:47:...
In the previous post we talked about a problem with the linker: Linking a single function from a library could link to the entire library. This creates a lot of bloat. As a result some enhancements were made to linker. The enhancement was to be selective and only load symbols that you need.
Inspired by Link fast: Improve build and launch times - 4:15:
Selective Loading In a nutshell if you have the following source code written in C:...