Cheerp works with C code, it's also possible to use __attribute__((cheerp_jsexport)) as an equivalent to [[cheerp::jsexporp]].
Accessing DOM / external JavaScript can be done by using the __asm__ syntax while in C, use of the client namespace is only possible from C++ code