Этот вопрос связан с именем mangling при экспорте функций в DLL. Microsoft по этой ссылке говорит, чтоНазначение функций. _cdecl convention
Символ подписи под символом (_) имеет префикс имен, кроме случаев экспорта функций __cdecl, которые используют связь C.
ссылка: http://msdn.microsoft.com/ru-ru/library/zkwh89ks.aspx
Вопрос заключается в том: что должно происходить, если я экспортировать функцию _cdecl используя C связь? Существует ли стандартное поведение для этого случая? Спасибо заранее.
Не могли бы вы связать документ или что-то там, где это указано? Потому что msdn говорит: > Для функций C или функций, объявленных как extern «C», это включает в себя оформление на основе платформы, основанное на соглашении о вызове. Значит, есть украшение. http://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx – VoidWalker
https://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l .doc% 2Flanguage% 2Fref% 2Fcplr020.htm под именем Mangeling (только для C++). Чтобы компилятор C++ не определял имя функции, вы можете применить спецификатор ссылки extern «C» к объявлению или объявлениям, как показано в следующий пример: extern "C" { int f1 (int); int f2 (int); int f3 (int); }; Это объявление сообщает компилятору, что ссылки на функции f1, f2 и f3 не должны искажаться. – ACB
может быть, что визуальная студия добавляет подчеркивания или тому подобное к имени для вызовов соглашений, отличных от cdecl, но по крайней мере для cdecl используется только имя. – ACB