Я создаю DLL, которая имеет статическую ссылку на библиотеку (.lib). И DLL, и .lib имеют функцию с одинаковым именем, но с разной подписью. Я хочу экспортировать функцию, написанную для DLL. Я использую файл .def для экспорта функции.
Однако, когда я использую dumpbin для экспорта функции из DLL, я не вижу оформленное имя для этой функции (имеющее две функции с одинаковым именем), для всех остальных функций я вижу оформленное имя.
Функция в A.cpp (DllName - ADLL)
uint __stdcall func(MSIHANDLE hHandle)
uint __stdcall func1(MSIHANDLE hHandle)
Функция в .lib (B.lib), на которую статически ссылаются в ADLL
DWORD WINAPI func(__in const bool input);
Формат файла def (ADLL.def):
LIBRARY "ADLL"
EXPORTS
func
func1
Фрагмент из .vcxProj
<ItemDefinitionGroup>
<Link>
<ModuleDefinitionFile>ADLL.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
Вывод из Dumpbin / Exports
ordinal hint RVA name
2 0 00035560 func = func
1 1 00001370 func1 = @ILT+875(?func1@@YAIK@Z)
Я не могу понять, почему у функции "func" нет оформленного имени, такого как func1?