Экспорт методов из dll: x64 vs x86
От: _niko_ Россия  
Дата: 14.05.20 07:47
Оценка:
Разработка видеться под Windows, есть библиотека с экспортируемыми методами. Выглядит это примерно так:

extern "C"
{
    __declspec(dllexport) void __stdcall foo() { }
}

После сборки в экспортируемых символах мы видим:
— для x64: foo
— для x86: _foo@()

А хочется чтоб для x86 было так же как и для x64!

Да, этого можно добиться добавив в проект файл *.def с указанием там данного экспортируемого символа.
Можно и вовсе убрать __stdcall из описания метода — это тоже повлияет на имя экспорта в "нужную" сторону.

Вопрос №1: как добиться желаемого не используя *.def файл и не переписывая описания метода?
Вопрос №2: и вообще почему так получатся, что из-за битности экспорт идет под разными именами?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.