jjzjj

CGO_ENABLED

全部标签

google-app-engine - Go: install drive v2 package cmd/cgo 报错

我正在尝试获取googledrivepackageforgo,但使用下面的总是会引发错误。我应该手动安装吗?./gogetcode.google.com/p/google-api-go-client/drive/v2loadcmd/cgo:packagecmd/cgo:noGosourcefilesin.../google_appengine/goroot/src/cmd/cgo 最佳答案 包裹好像坏了。其导入路径(v2)的基本名称与在那里找到的包名称(drive)不匹配。我不确定,但我想也许生成某些内容的某些脚本已损坏。我建议询问

go - CGo:如何将二维 slice 传递给 C 函数

我的代码是:packagemain/*#include#includevoidfill_2d_array(char(*s)[16]){strcpy(s[0],"hello");strcpy(s[1],"cgo");}*/import"C"import"fmt"import"unsafe"funcmain(){dirs:=make([][]byte,4)fori:=0;i当我用goruntest.go运行时,它失败了并说:./test.go:21:type*C.charisnotanexpression我的问题是如何将二维slice传递给像上面的fill_2d_array这样的C函数?谢

c - 不在 cgo 中显示 printf 结果

当我运行这段代码时,我希望打印出类似A:4,B:89的结果。但实际上,不显示任何内容。为什么这个程序不将结果显示到标准输出?main.go:packagemain/*#include"c.h"*/import"C"import("unsafe")typeSstruct{AintBint}funcmain(){s:=&S{A:4,B:89}pass_to_c:=(*C.S)(unsafe.Pointer(s))C.gostruct(pass_to_c)}c.h#include#includetypedefstruct{longintA;longintB;}S;externvoidgost

go - 在cgo中定义变量

我想在构建时在cgo中定义一个字符串变量。以下方法均无效。#cgoCFLAGS:-DLOG="common"'common'未声明(在此函数中首次使用)#cgoCFLAGS:-DLOG=common'common'未声明(在此函数中首次使用)#cgoCFLAGS:-DLOG=\"common\"格式错误的#cgo参数:-DLOG="common" 最佳答案 这似乎是不可能的,因为cgo做了一些处理/解析——你能不能只用一个普通的#defineLOG"common"(即不使用CGO特殊标志)。或者失败你可以像这样调用gorun/gob

golang cgo无法通过构建模式c-shared导出变量

我正在尝试在cgo中开发一个sudo的插件。https://www.sudo.ws/man/1.8.15/sudo_plugin.man.html将结构导出到policy_plugin的全局范围。Apolicypluginmustdeclareandpopulateapolicy_pluginstructintheglobalscope.你能解释一下这是什么意思吗?export_test.gopackagemain/*#include"sudo_plugin.h"#include*/import"C"funcmain(){}//don'tworked//exportpolicyvarp

go - 对为什么这个 cgo 代码 panic 感到困惑

我想写一个使用golang调用c函数的demo,写了这个文件,发现会出现panic,不知道为什么。首先是一个c头文件p.h:voidoutput(char*str,ints);voidcc(char*str);二、一个c文件p.c:#include#include#includevoidoutput(char*str,ints){fflush(stdout);sleep(s);printf("%s",str);}voidcc(char*str){printf("%s",c_ccB(str));}很简单,go代码一个output函数,go代码一个cc函数调用c_ccB,最后一个go代码文

gcc - 如何在cgo中使用Xlinker?格式错误的#cgo 参数 : -(

环境:gcc3.4.5go1.3linux2.6.32centos4问题:我想将-Xlinker"-("和-Xlinker"-)"传递给cgoLDFLAGS,以解决静态库顺序问题。但是cgo好像不支持这个,编译失败:xxx.go:malformed#cgoargument:-(在xxx.go中设置LDFLAGS的cgo指令://#cgoLDFLAGS:-Xlinker"-("libyyy.alibzzz.a-lstdc++-Xlinker"-)"import"C"问题:如何在cgo中使用-Xlinker? 最佳答案 使用--star

windows - 如何在 Windows 上使用基于 cgo 的包?

Go标准库中的regexp很差,所以我需要一个更强大的引擎,像Python中的regex(pipinstallregex),支持递归,backref,look-ahead/behind,等等……我发现:https://godoc.org/github.com/dlclark/regexp2.NET兼容,非常好;然而,递归无法正常工作。和一些PCRE绑定(bind),例如:https://godoc.org/github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre那么,如何在Win64上使用此绑定(bind)? 最

debugging - 有没有办法为链接到 Go 的 CGO 代码获取调试符号?

我有一些Cgo代码正在链接到我的Go二进制文件中。我已经让Cgo运行并构建我的代码和包装器。在最近的一些更改之后,我开始在我正在链接的C++中获得double-free。我尝试在lldb下运行我的二进制文件,它确实捕获了mallocpanic,但这些符号并不是特别有用。在vanillaC或C++中,我使用-g3来获得丰富的调试符号,其中包括变量名称和源代码。这使得使用lldb的效率更高。但是,我在将这些符号显示在我的go二进制文件中时遇到了一些问题。我注意到在回溯中我的函数显示为main'foo,其中foo是我的函数的名称。虽然没有其他调试信息,但我得到的只是汇编和内存指针/寄存器的踪

c - 为什么我用cgo的时候报错 "undefined reference to ` add2”

目录如下:-包括测试.h-liblibmytest.so-源代码测试.gotest.go代码如下:packagemain/*#cgoCFLAGS:-I../include#cgoLDFLAGS:-L../lib-lmytest#include"Test.h"*/import"C"funcmain(){C.add2(10,10)}当我使用gobuildtest.go时,控制台报告:#command-line-arguments/tmp/go-build168903458/command-line-arguments/_obj/test.cgo2.o:在函数_cgo_9efddd4c1a4