Я пишу DLL для стороннего приложения.Главный разработчик программного обеспечения упоминает, что приложение использует соглашение о вызовах __cdecl (/ Gd). Что мне нужно убедиться, что я использую это.
Кроме того, третья сторона предоставила мне скелет C ++ DLL, который экспортирует функции следующим образом:
#ifdef _EXPORTING
#define DECLSPEC __declspec(dllexport)
#else
#define DECLSPEC __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
DECLSPEC int ICD_Create(char* id);
....
....
Я немного сбит с толку. Почему функции экспортируются с использованием соглашения __declspec вместо __cdedl ?? поддерживает ли __declspec _cdecl?
Спасибо.