Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Экспорт/импорт перегруженных функций из DLL (VC++


Автор: erslgoeirjh 18.2.2015, 13:17
Есть некоторая DLL (консольное приложение, помеченное при создании как DLL) mydll.dll, созданная в Visuаl C++ 2008.
В этой DLL есть функция myfunc:

Код

#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif

//...

extern "C" MYDLL_API void myfunc(int par)
{
  // тело функции;
}



Можно ли перегрузить эту функцию в DLL--то есть написать что-то вроде

Код

extern "C" MYDLL_API void myfunc(int par, int par2)
{
  // тело функции;
}



чтобы из DLL экспортировалось бы две функции с одним именем (то есть чтобы из DLL экспортировались перегруженные функции), а в клиентской программе можно было бы загрузить или первую , или вторую из этих функций (в зависимости от желания программиста клиентской программы)?

Или же при создании DLL перегружать имена экспортируемых функций нельзя и вместо:

Код

extern "C" MYDLL_API void myfunc(int par, int par2)



следует написать:

Код

extern "C" MYDLL_API void myfunc2(int par, int par2)



?

И если можно экспортировать из DLL перегруженные функции, то как правильно их импортировать в клиентской программе?

Автор: feodorv 18.2.2015, 15:06
Перегрузка в C? smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)