Разработка видеться под Windows, есть библиотека с экспортируемыми методами. Выглядит это примерно так:
extern "C"
{
__declspec(dllexport) void __stdcall foo() { }
}
После сборки в экспортируемых символах мы видим:
— для x64: foo
— для x86: _foo@()
А хочется чтоб для
x86 было так же как и для
x64!
Да, этого можно добиться добавив в проект файл *.def с указанием там данного экспортируемого символа.
Можно и вовсе убрать __stdcall из описания метода — это тоже повлияет на имя экспорта в "нужную" сторону.
Вопрос №1: как добиться желаемого не используя *.def файл и не переписывая описания метода?
Вопрос №2: и вообще почему так получатся, что из-за битности экспорт идет под разными именами?