MATHFUNCSDLL_EXPORTS

165
09 марта 2018, 15:35

Что делает данный код

#ifdef MATHFUNCSDLL_EXPORTS
#define MATHFUNCSDLL_API __declspec(dllexport) 
#else
#define MATHFUNCSDLL_API __declspec(dllimport) 
#endif

Я правильно понимаю, что при экспорте нужно будет писать так:

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

А при импорте так:

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

Нет, это же макрос (текстовая замена), препроцессор проведет соответствующие условию в макросе замены а потом компилятор, в случае экспорта, пометит соответствующие имена функция как экспортируемые.

READ ALSO
Оптимизация бесконечного цикла

Оптимизация бесконечного цикла

Периодически использую бесконечные циклы в отдельных потоках, например, для постоянного мониторинга новых сообщенийЕстественно, простая...

160
Передача константы в функцию С++

Передача константы в функцию С++

Имеем функцию работы с реестром:

179
Числа Фиббоначи в с++ через while [требует правки]

Числа Фиббоначи в с++ через while [требует правки]

Вывести на экран первые n чисел ряда ФибоначчиЦикл с параметром не использовать

149