Хочу просто личных мнений и личного опыта. В каком случае будет меньше страданий, если нужно сделать библиотеку с возможностью нормального интеропа:
-
Шпилить её на чистой сишечке, немного страдать, но получить из коробки
-
Или написать её на C++, страдая немного по-другому, но пользуясь всеми его благами? Однако реализуя тонкую
extern "C" { }
обёртку. Много бойлерплейта, но ничего глобально сложного.
Насколько я знаю, в таком случае ещё придётся конечную программу линковать компилятором С++, с этим уже не справится.
Насколько так вообще принято делать?