Add C and C++ support