OpenKODE Core implementation
Cross-platform abstraction layer and application framework implemented in a clean, simple and maintainable manner. Written in C; build and tested with CMake and Github Actions; developed for Windows, Linux, Android and the Web.
Specification
Threads and synchronization
Events
Application startup and exit
Memory allocation
Mathematical functions
String and memory functions
Time functions
File system
Network sockets
Input/output
Windowing
Assertions and logging
#include <KD/kd.h>
KDint KD_APIENTRY kdMain (KDint argc , const KDchar * const * argv )
{
KDboolean run = KD_TRUE ;
while (run )
{
const KDEvent * event = kdWaitEvent (-1 );
if (event )
{
switch (event -> type )
{
case (KD_EVENT_QUIT ):
{
run = KD_FALSE ;
}
default :
{
kdDefaultEvent (event );
}
}
}
}
return 0 ;
}
Windows, Android, Linux, Web support
Experimental OSX/iOS support (needs an EGL implementation )
Visual C++ (2013 and up)
GCC (4.7 and up)
Clang/Xcode, Intel C++, Mingw-w64, Tiny C, Emscripten
cmake -G Ninja -Bbuild -H.
ninja -C build