36 lines
415 B
Go
36 lines
415 B
Go
package cgoexample
|
|
|
|
/*
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
void myprint(char* s) {
|
|
printf("%s\n", s);
|
|
}
|
|
*/
|
|
import "C"
|
|
|
|
import (
|
|
"fmt"
|
|
"unsafe"
|
|
)
|
|
|
|
func Example() {
|
|
cs := C.CString("Hello from stdio\n")
|
|
C.myprint(cs)
|
|
fmt.Printf("bad format %t", cs)
|
|
C.free(unsafe.Pointer(cs))
|
|
}
|
|
|
|
func notFormattedForGofmt() {
|
|
}
|
|
|
|
func errorForRevive(p *int) error {
|
|
if p == nil {
|
|
return nil
|
|
} else {
|
|
return nil
|
|
}
|
|
}
|
|
|