gpt4 book ai didi

go - int 和 C.int 之间有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 01:58:57 25 4
gpt4 key购买 nike

import "C"

func f() {
var vGo int
var vC C.int
// fails to compile with error
// cannot use &vGo (type *int) as type *C.int in argument to...
C.c_function(&vGo)
// compiles just fine:
C.c_function(&vC)
}

我用 CGO_ENABLED=1 GOARCH=arm 编译...

在这种情况下,int 和 C.int 类型有什么不同?
在哪里可以找到有关 GO 中 C 类型的更多信息?

最佳答案

类型之间有什么区别?这取决于。如果您使用的是 64 位,则 Go int 将为 64 位,而 C int 将为 32 位。如果您使用的是 32 位,则没有真正的区别。

我在哪里可以找到有关 Go 中 C 类型的更多信息?查看 C 的文档。如评论中所述,Go 中不允许隐式数字类型转换,因此需要进行转换。

关于go - int 和 C.int 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36482444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com