У меня есть небольшая библиотека C в DLL, и мне нужно вызвать несколько ее методов.
Он использует указатели и несколько структур, но в остальном довольно прост. Проблема в том, что я не очень хорошо осведомлен о взаимодействии .NET с неуправляемым миром, и мои попытки до сих пор продолжают поражать исключения нарушения доступа к памяти (вероятно, из-за того, что я не совсем правильно понимаю указатели).
Может ли кто-нибудь дать мне несколько советов (о, каламбур!) О том, как лучше всего подойти к этому?
Спасибо
extern vconfig_t *Pobsopen(Ppoly_t ** obstacles, int n_obstacles);
extern int Pobspath(vconfig_t * config, Ppoint_t p0, int poly0,
Ppoint_t p1, int poly1,
Ppolyline_t * output_route);
extern void Pobsclose(vconfig_t * config);
struct vconfig_t {
int Npoly;
int N;
Ppoint_t *P;
int *start;
int *next;
int *prev;
};
typedef struct Ppoly_t {
Ppoint_t *ps;
int pn;
} Ppoly_t;
typedef Ppoly_t Ppolyline_t;
typedef struct Pxy_t {
double x, y;
} Pxy_t;
typedef struct Pxy_t Ppoint_t;
typedef struct Pxy_t Pvector_t;