Skip to content

Instantly share code, notes, and snippets.

@kfei
Created January 8, 2015 16:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kfei/53a680d53bea1bab9f4c to your computer and use it in GitHub Desktop.
Save kfei/53a680d53bea1bab9f4c to your computer and use it in GitHub Desktop.
Go: pass to C main
func main() {
args := os.Args
arg := make([](*_Ctype_char), 0)
l := len(args)
for i, _ := range args {
char := C.CString(args[i])
// defer C.free(unsafe.Pointer(char))
strptr := (*_Ctype_char)(unsafe.Pointer(char))
arg = append(arg, strptr)
}
C.cmain(C.int(l), (**_Ctype_char)(unsafe.Pointer(&arg[0])))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment