compilers and linkers adhere to in order to compile your program and execute properly • Interface for app to use external library at OS at binary level • Specifies the calling conventions that the libraries should respect to • Specifies the in memory layout of data types, classes, structs, etc Binary 1 Binary 2