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)
}
...Int ve int ile C.int arasındaki fark nedir? Ben CGO_ENABLED = 1 GOARCH = kolla derlemek
bu durumda int ve C.int tiplerinde farklı Ne?
GO türlerinde C türleri hakkında ek bilgi nereden bulabilirim?
Üzgünüz, ama ikinci kısım doğru değil. 'Int' mimariye bağlı olarak 64 veya 32 bit olabilir. https://golang.org/ref/spec#Numeric_types – jupp0r
@ jupp0r Evet, dilimin belki de yeterince spesifik olmamasına rağmen "64bit üzerindeyseniz" ifadesini aktarmaya çalışıyordum. – evanmcdonnal
İlgili fark, bunların 32 veya 64 bit olması, farklı türde olmaları ve Go'nun örtük sayısal tür dönüşümlerine izin vermemesidir. Türlerin aynı boyutta olup olmadığına bakılmaksızın aynı hatayı alacaksınız. – JimB