cgo - How to construct C struct in Go side? -


i need call c function needs pointer of struct argument. here's c code:

struct position {     uint64_t index;     uint64_t offset; };  int read(const char* filename, const position* pos, const char** data) 

so in go code, think have malloc memory construct position object , pass pointer c function. maybe need free memory. seems c.cstring() did. how can that? there code example? thx.

how call c golang clear generated stub. use go build -work src/main.go generate stub , working directory. find function prototype in _obj/_cgo_gotypes.go file. i.e. can following generated go stub:

type _ctype_position _ctype_struct__position type _ctype_struct__position struct { //line :1                                                                                                                                                                                                                index   _ctype_int //line :1                                                                                                                                                                                                                offset  _ctype_int //line :1                                                                                                                                                                                                            } func _cfunc_read(p0 *_ctype_char, p1 *_ctype_struct__position, p2 **_ctype_char) (r1 _ctype_int) 

if have c header file this:

typedef struct _position {   int index;   int offset; }position;  extern int read(const char* filename, const position* pos, const char** data); 

btw need reference c function in go source make dependency go build generate referenced function stub.


Comments

Popular posts from this blog

twig - Using Twigbridge in a Laravel 5.1 Package -

jdbc - Not able to establish database connection in eclipse -

Kivy: Swiping (Carousel & ScreenManager) -