Mercurial > hg > CbC > CbC_gcc
view libgo/misc/cgo/testsovar/cgoso.go @ 133:420680fc7707
do normal call in goto codesegment in normal function
author | anatofuz |
---|---|
date | Sat, 03 Nov 2018 19:49:09 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package cgosotest // This test verifies that Go can access C variables // in shared object file via cgo. /* // intentionally write the same LDFLAGS differently // to test correct handling of LDFLAGS. #cgo windows CFLAGS: -DIMPORT_DLL #cgo linux LDFLAGS: -L. -lcgosotest #cgo dragonfly LDFLAGS: -L. -l cgosotest #cgo freebsd LDFLAGS: -L. -l cgosotest #cgo openbsd LDFLAGS: -L. -l cgosotest #cgo solaris LDFLAGS: -L. -lcgosotest #cgo netbsd LDFLAGS: -L. libcgosotest.so #cgo darwin LDFLAGS: -L. libcgosotest.dylib #cgo windows LDFLAGS: -L. libcgosotest.dll #include "cgoso_c.h" const char* getVar() { return exported_var; } */ import "C" import "fmt" func Test() { const want = "Hello world" got := C.GoString(C.getVar()) if got != want { panic(fmt.Sprintf("testExportedVar: got %q, but want %q", got, want)) } got = C.GoString(C.exported_var) if got != want { panic(fmt.Sprintf("testExportedVar: got %q, but want %q", got, want)) } }