Write Once Compile Everywhere - OS abstraction layer for C applications