1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 12:32:21 +00:00

ch2-02: 修复代码错误

This commit is contained in:
chai2010 2018-07-27 05:42:31 +08:00
parent 927ccf36a0
commit 51eceb15fb

View File

@ -19,7 +19,6 @@ void printint(int v) {
} }
*/ */
import "C" import "C"
import "unsafe"
func main() { func main() {
v := 42 v := 42
@ -47,7 +46,7 @@ func (p *CChar) GoString() string {
} }
func PrintCString(cs *C.char) { func PrintCString(cs *C.char) {
print(cs.GoString()) print(((*CChar)(cs.GoString()))
} }
``` ```
@ -56,7 +55,7 @@ func PrintCString(cs *C.char) {
```go ```go
package main package main
// static char* cs = "hello" // extern char* cs = "hello"
import "C" import "C"
import "./cgo_helper" import "./cgo_helper"
@ -121,11 +120,11 @@ package main
#cgo linux CFLAGS: -DCGO_OS_LINUX=1 #cgo linux CFLAGS: -DCGO_OS_LINUX=1
#if defined(CGO_OS_WINDOWS) #if defined(CGO_OS_WINDOWS)
static char* os = "windows"; extern char* os = "windows";
#elif defined(CGO_OS_DARWIN) #elif defined(CGO_OS_DARWIN)
static char* os = "darwin"; extern char* os = "darwin";
#elif defined(CGO_OS_LINUX) #elif defined(CGO_OS_LINUX)
static char* os = "linux"; extern char* os = "linux";
#else #else
# error(unknown os) # error(unknown os)
#endif #endif