いよいよ最終回です。 今回はメンバにポインタを含む構造体を受け渡す方法について紹介します。 DLL 側で次のような関数を公開します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <stdio.h> #include <string.h> #include "SampleDll.h" typedef struct _SampleStruct2 { int length; double* data; } SampleStruct2, *PSampleStruct2; namespace Tips_Win32DLL { double g_dData[256]; void __stdcall Sample06(SampleStruct2* st) { printf("--<SampleDll:Sample06>---------------\r\n"); memset(st, 0, sizeof(SampleStruct2)); memset(g_dData, 0, sizeof(g_dData)); (*st).length = 10; (*st).data = g_dData; for (int i = 0; i < (*st).length; i++) { g_dData[i] = (i + 1) / 10.0; } printf("-------------------------------------\r\n"); } } |
構造体メンバにはアド … Continue reading