Вот как у меня объявлена функция экспорта на данный момент:
extern "C" __declspec(dllexport)
Iexport_class* __stdcall GetExported_Class();
Когда VS2008 скомпилировал исходный код для этого, созданная dll содержала это в своей таблице экспорта:
_GetExported_Class@0
Для совместимости с другими компиляторами мне нужно, чтобы указанное выше оформление выглядело так:
GetExported_Class
Изменение соглашения о вызовах на __cdecl украсит его так, как я хочу, но соглашение было бы неправильным, поэтому я не могу его использовать. Мне нужно, чтобы он был оформлен так, как выглядит __cdecl, но вместо этого использует __stdcall.
Есть ли способ сделать это без использования файла .def? Есть ли переключатель или параметр, который я могу передать компоновщику link.exe, который может заставить его украсить имя экспорта так, как я хочу?
Спасибо