#ifdef WIN32
#define GFLEXTERN /*__declspec(dllexport)*/
#define GFLAPI __stdcall
#define GFLSTDAPI __cdecl
#else
#define GFLEXTERN
#define GFLAPI
#define GFLSTDAPI
#endiftypedef unsigned long GFL_UINT32;
typedef void * GFL_HANDLE; typedef void *(GFLSTDAPI *GFL_ALLOC_CALLBACK)(GFL_UINT32 size, void *param);
typedef GFL_UINT32 (GFLSTDAPI *GFL_READ_CALLBACK)(GFL_HANDLE handle, void *buffer, GFL_UINT32 size);
#define GFLEXTERN /*__declspec(dllexport)*/
#define GFLAPI __stdcall
#define GFLSTDAPI __cdecl
#else
#define GFLEXTERN
#define GFLAPI
#define GFLSTDAPI
#endiftypedef unsigned long GFL_UINT32;
typedef void * GFL_HANDLE; typedef void *(GFLSTDAPI *GFL_ALLOC_CALLBACK)(GFL_UINT32 size, void *param);
typedef GFL_UINT32 (GFLSTDAPI *GFL_READ_CALLBACK)(GFL_HANDLE handle, void *buffer, GFL_UINT32 size);
typedef GFL_UINT32 (GFLSTDAPI *GFL_READ_CALLBACK)(GFL_HANDLE handle, void *buffer, GFL_UINT32 size);这样的函数类型定义,在c#中对应delegate,大概是这样:
delegate void GFL_ALLOC_CALLBACK(ulong size,object param);
delegate ulong GFL_READ_CALLBACK(object handle,object buffer,ulong size);
没学过c++,看这些都不明白在说什么typedef struct {
...
//这个struct里面的要怎么写
struct {
GFL_READ_CALLBACK Read;
GFL_ALLOC_CALLBACK Alloc; /* Not yet implemented */
GFL_FREE_CALLBACK Free; /* Not yet implemented */
void * AllocParam;
} Callbacks;
} GFL_LOAD_PARAMS;
你对应改改就可以了.