DLL не хранят сигнатуры экспортируемых ими функций. В других ответах упоминается C ++, и когда функция C ++ экспортируется как C ++ , тогда имя действительно будет искажено. Разоберите его с помощью правильной схемы компиляции, и вы получите подпись. Но большинство DLL не экспортируют функции C ++, используя их имена C ++. Вместо этого функции, которые DLL выбирает для экспорта, экспортируются с использованием имен в стиле C, поэтому даже если DLL была написана на C ++, экспортированные функции по-прежнему не будут иметь никакой информации о подписи.
У вас нет заголовка? Большинство поставщиков включают подобные вещи в свои SDK. Если вы не получили его, то пожаловаться продавцу. Если вы не должны были получить его, то, возможно, вы выполняете свою задачу неправильно; Вы уверены, что должны использовать эту DLL напрямую?
Если у вас нет заголовочного файла, то вы также можете спросить себя, действительно ли вам разрешено юридически использовать DLL в вашей программе в любом случае. Если это просто произвольная DLL-библиотека, найденная в вашей системе, то даже если вы сможете написать код для нее, вам, вероятно, не разрешат распространять ее при поставке вашей программы.