草庐IT

CHAR_BIT

全部标签

c - 从 Go 访问类型为 const char * 的 C 数组

我有一个C文件,其数组类型为constchar*,我们将其命名为myStringArray[],类似于:constchar*myStringArray[]={"NAME_OF_FIRST_THING","NAME_OF_SECOND_THING","NAME_OF_THIRD_THING"}我需要使用cgo为该C数组建立索引,并将数组条目转换为Go字符串。以下代码编译但不能正常工作;你可以从下面的输出中看到,它是沿着字符串而不是向上索引数组:myGoString:=C.GoString((*C.char)(unsafe.Pointer(uintptr(unsafe.Pointer(C.

idea报错Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated

最近在使用idea的时候,idea总是显示警告信息:JavaHotSpot(TM)64-BitServerVMwarning:Options-Xverify:noneand-noverifyweredeprecatedinJDK13andwilllikelyberemovedinafuturerelease. 我的解决办法是:第一步:选择下图的  Edit Configurations第二步:然后在跳转出的界面中找到  Enable launchoptimization  将其前面的对勾取消掉即可  最终来看看效果:    没有了,解决了 [转载衔接](https://blog.csdn.ne

c# - 使用生成的 Golang DLL 返回字符串或 *C.Char

我一直在努力关注z505/goDLLrepo并遇到了一个大问题。该方法无法返回字符串,因为我无法读取结果的输出变量。这是我目前使用的代码(Go)(完整代码https://play.golang.org/p/Yfg85DCeMLh)//exportPrintHello2funcPrintHello2(Input*C.char,Output**C.char)int32{fmt.Println(C.GoString(Input))*Output=C.CString(fmt.Sprintf("FromDLL:Hello,%s!\n",C.GoString(Input)))fmt.Println

c# - 使用生成的 Golang DLL 返回字符串或 *C.Char

我一直在努力关注z505/goDLLrepo并遇到了一个大问题。该方法无法返回字符串,因为我无法读取结果的输出变量。这是我目前使用的代码(Go)(完整代码https://play.golang.org/p/Yfg85DCeMLh)//exportPrintHello2funcPrintHello2(Input*C.char,Output**C.char)int32{fmt.Println(C.GoString(Input))*Output=C.CString(fmt.Sprintf("FromDLL:Hello,%s!\n",C.GoString(Input)))fmt.Println

java - 共享 GAE 数据存储,Go <-> Java,regexp.FindStringIndex 索引转换(字节索引与 utf-8-char-index)

简短版:这打印出3,这是有道理的,因为在Go中,字符串基本上是一个byteslice,并且需要三个字节来表示这个字符。我怎样才能让len和regexp函数根据字符而不是字节来工作。packagemainimport"fmt"funcmain(){fmt.Println(len("ウ"))//returns3fmt.Println(utf8.RuneCountInString("ウ"))//returns1}背景:我正在使用JDO(Java)将文本保存到GAE数据存储中。然后我使用Go处理文本,特别是我使用regexp.FindStringIndex并将索引保​​存到数据存储。然后回到J

java - 共享 GAE 数据存储,Go <-> Java,regexp.FindStringIndex 索引转换(字节索引与 utf-8-char-index)

简短版:这打印出3,这是有道理的,因为在Go中,字符串基本上是一个byteslice,并且需要三个字节来表示这个字符。我怎样才能让len和regexp函数根据字符而不是字节来工作。packagemainimport"fmt"funcmain(){fmt.Println(len("ウ"))//returns3fmt.Println(utf8.RuneCountInString("ウ"))//returns1}背景:我正在使用JDO(Java)将文本保存到GAE数据存储中。然后我使用Go处理文本,特别是我使用regexp.FindStringIndex并将索引保​​存到数据存储。然后回到J

go - Cgo + windows + mingw-w64 : "sorry, unimplemented: 64-bit mode not compiled in"

尝试安装时suapapa/go_sass在Windows8.1上使用命令:gogetgithub.com/suapapa/go_sass我遇到了这个错误:cc1.exe:sorry,unimplemented:64-bitmodenotcompiledin根据stackoverflow和其他论坛,这个问题是因为我没有正确的mingw版本(如果我错了请纠正我)。我的go版本是1.3.3windows/amd64。所以我尝试安装在http://tdm-gcc.tdragon.net/上找到的64位版本的gcc.我似乎仍然无法获取我想要安装的软件包。有什么帮助吗?我根本不熟悉C编译器。

go - Cgo + windows + mingw-w64 : "sorry, unimplemented: 64-bit mode not compiled in"

尝试安装时suapapa/go_sass在Windows8.1上使用命令:gogetgithub.com/suapapa/go_sass我遇到了这个错误:cc1.exe:sorry,unimplemented:64-bitmodenotcompiledin根据stackoverflow和其他论坛,这个问题是因为我没有正确的mingw版本(如果我错了请纠正我)。我的go版本是1.3.3windows/amd64。所以我尝试安装在http://tdm-gcc.tdragon.net/上找到的64位版本的gcc.我似乎仍然无法获取我想要安装的软件包。有什么帮助吗?我根本不熟悉C编译器。

c - 转到 []string 到 C char**

我开始尝试将一些C库集成到我使用cgo的项目的Go代码中,但遇到了一个问题。在其中一个C函数中,我需要将argv传递给函数调用。在C中,argv是一个指向char字符串数组的指针(K&RC,§5.10),我需要将一段字符串转换为char**。我仔细查看了有关如何从Go到C的变量类型转换的任何信息,但似乎几乎没有文档。任何帮助将不胜感激。 最佳答案 您需要自己创建数组。应该这样做:argv:=make([]*C.char,len(args))fori,s:=rangeargs{cs:=C.CString(s)deferC.free(u

c - 转到 []string 到 C char**

我开始尝试将一些C库集成到我使用cgo的项目的Go代码中,但遇到了一个问题。在其中一个C函数中,我需要将argv传递给函数调用。在C中,argv是一个指向char字符串数组的指针(K&RC,§5.10),我需要将一段字符串转换为char**。我仔细查看了有关如何从Go到C的变量类型转换的任何信息,但似乎几乎没有文档。任何帮助将不胜感激。 最佳答案 您需要自己创建数组。应该这样做:argv:=make([]*C.char,len(args))fori,s:=rangeargs{cs:=C.CString(s)deferC.free(u