There are several incompatibilities between C and C++ that we need to consider when interoperate between C and C++:
- C and C++ has different compound literal syntax
- C11 type-generic macro is not supported in C++
- The semantics of the inline keyword is different
- C++ has more strict aliasing rule, and it can impact codes performing type punning.