1 2 3 4 5 6 7 8 9 10 11 12 13
package allinone import "C" import "unsafe" //go:linkname goErrorHandler c.goErrorHandler //export goErrorHandler func goErrorHandler(size C.int, start *C.char) { dest := make([]byte, size) copy(dest, (*(*[1024]byte)(unsafe.Pointer(start)))[:size:size]) println("Error from all in one runner: %s", string(dest)) }