Использование extern "C"
отключает искажение имени. Если вы этого не сделаете, клиенту вашей DLL может быть сложно импортировать ваши символы.
Помните, что разные компиляторы C ++ имеют разные правила искажения имен, и поэтому ваши искаженные экспортированные имена могут отличаться от имен, используемых при импорте.
Однако, поскольку неправильно импортировать класс из DLL, если вы используете компилятор, отличный от того, который использовался для DLL, это скорее спорный вопрос.
Так что, если вы экспортируете классы (обычно плохая идея в любом случае), вам будет легче оставить искажения включенными. В противном случае выключите его с помощью extern "C"
.