Я пишу C / C ++ DLL и хочу экспортировать определенные функции, которые я делал до использования файла .def, подобного этому
LIBRARY "MyLib"
EXPORTS
Foo
Bar
с кодом, определенным как это, например:
int Foo(int a);
void Bar(int foo);
Однако, что если я захочу объявить перегруженный метод Foo (), например:
int Foo(int a, int b);
Поскольку файл def имеет только имя функции, а не полный прототип, я не могу понять, как он будет обрабатывать перегруженные функции. Вы просто используете одну запись и затем указываете, какую перегруженную версию вы хотите при передаче правильно прототипированного указателя на функцию LoadLibrary ()?
Редактировать: для ясности, это на Windows с использованием Visual Studio 2005
Edit: помечен метод не-def (__declspec) как ответ ... Я знаю, что это на самом деле не решает проблему с использованием файлов def, как я хотел, но, похоже, что (официального) решения, использующего (официальное) решение, использующее файлы def. Однако оставим вопрос открытым, если кто-то что-то знает, у нас нет перегруженных функций и файлов def.