Is there an ABI compatibility issue if part of the code of a C project is rewritten in C++, but with the same API left out? -
for shared library project written in c, if rewrite part of code in c++, same apis kept, have abi compatibility issues?
if keep same api (function names , parameter types) should go.
what will need wrap header files (copy & pasted here):
#ifdef __cplusplus extern "c" { #endif // of legacy c code here #ifdef __cplusplus } #endif
this makes sure c++ compiler doesn't mangle names, c compiler's extern symbols can still linked against exports.
Comments
Post a Comment