C ++ Экспорт массива из DLL для вызова / использования в программе на основе C - PullRequest
0 голосов
/ 30 ноября 2018

Здравствуйте. В настоящее время я пытаюсь экспортировать массив из Dll в программу анализа данных на основе C под названием Uniplot.Я могу вызвать DLL и запустить ее, хотя я не могу получить доступ к данным, предоставленным Dll.Я не очень хорош в этом вопросе, но я предполагаю, что это как-то связано с выпуском функции, позволяющей избавиться от указателей или типа данных в целом.

Header.h

 // considering export into C application
#ifdef __cplusplus
extern "C"
{
#endif

    // prepare functions for later export/import from DLL
#ifdef CALC_EXPORTS
#define CALCDLL_API __declspec(dllexport)

#else
#define CALCDLL_API __declspec(dllimport)

#endif

typedef double t_mda[150];
typedef double t_sda[50];
typedef double t_oda[150];

/*===========================
        functions
============================*/

        // general function
CALCDLL_API double* CALC (t_mda MDA, t_sda SDA);

....

#ifdef __cplusplus
}
#endif

.cpp

t_oda ODA;

CALCDLL_API double* CALC (t_mda MDA, t_sda SDA) {

...

//data output

return ODA;

}

CALC генерирует данные и сохраняет их в массиве ODA, который я хотел бы использовать в другомприложение.Какие изменения мне нужно сделать, чтобы запустить это?

...