Если вы собираетесь упорядочить это вручную (т.е. импорт возвращает IntPtr), вы должны иметь возможность использовать

труктура в C ++ выглядит следующим образом

 /* this structure contains the xfoil output parameters vs angle of attack */
    typedef struct xfoil_outputdata_struct
    {
     double *pAlfa;
     double *pCL;
     double *pCM;
     double *pCDi;
     double *pCDo;
     double *pCPmax;
     long nEntries;
    } XFOIL_OUTPUT_DATA;

    /* Here are the function prototypes for XFoil */
    __declspec(dllexport) XFOIL_OUTPUT_DATA *xfoilResults(); /* get output from xfoil */

Я использую XFoilResults, чтобы вытащить эту структуру обратно в C #

Моя инструкция по импорту DLL выглядит следующим образом:

 [DllImport("xfoilapi.dll")]
        public static extern void xfoilResults();

Это правильно? Я не имею никакого контроля над кодом C ++. Мне просто нужно иметь возможность вытащить структуру в C #. C # структура у меня до сих пор является следующим

[StructLayout(LayoutKind.Sequential)]
    public  struct xfoilResults
    {
     IntPtr pAlfa;
        IntPtr pCL;
        IntPtr pCM;
        IntPtr pCDi;
        IntPtr pCDo;
        IntPtr pCPmax;
     long nEntries;
    }

Как я могу заполнить эту структуру C # данными из кода C ++?

Ответы на вопрос(2)

Ваш ответ на вопрос