Учитывая, что C ++ в значительной степени обратно совместим с C, вы должны иметь возможность перекомпилировать код с использованием компилятора C ++, если в коде не используются некоторые функции C99. Однако имейте в виду, что C ++ / CLI не является стандартным C ++, поэтому могут возникнуть дополнительные проблемы.
Как сказал aJ, если вы хотите избежать искажения имени, вам придется «выйти за пределы C» символов.
Еще один способ сделать это - оставить библиотеку C в качестве стандартного нативного кода и написать для нее тонкий слой C ++ / CLI. Затем откройте слой C ++ / CLI для вашего приложения .NET.