ben c kodu Cgo'ya bir dosya derlememesini nasıl söyleyebilirim? Düzenli go dosyası için
Yani ne yapmam gerekiyor
derleme yapabilmek için olarak ancak CGO bu yorumladığı// +build !windows
demek?
ben c kodu Cgo'ya bir dosya derlememesini nasıl söyleyebilirim? Düzenli go dosyası için
Yani ne yapmam gerekiyor
derleme yapabilmek için olarak ancak CGO bu yorumladığı// +build !windows
demek?
Yapı kısıtlaması, paket bildiriminizden önce görünmelidir.
Yanlış
package mypackage
// +build !windows
// #include <header.h>
//
// ...
import "C"
Doğru
// +build !windows
package mypackage
// #include <header.h>
//
// ...
import "C"
Bir kenara göre - hassas cgo'nun ne kadar boş satırlara geçtiğini anlayamıyorum. + Build line ve package arasındaki satırı özledim - yapı satırı yoksayıldı. Bir # cgo satırı ve "C" arasına bir satır ekleyin ve (#cgo) göz ardı edilir - OB0IOUS – pm100
@ pm100 aslında, dokümantasyonda şu şekilde istatistikler: [Paket belgelerinden yapı kısıtlamalarını ayırt etmek için, bir dizi yapı kısıtlamaları boş bir satır takip etmelidir.] (https://golang.org/pkg/go/build/) – OneOfOne
@OneOfOne, cgo bayrakları için kısıtlamalar olmadıkça - bu durumda boş bir satır olmamalıdır – pm100
sen CGO devre dışı bırakmak veya sadece bir dosya yok saymak istiyor musunuz? – JimB
Anladığım kadarıyla, C kodu olarak adlandırılan dosyalar, gc veya gcc (flag by cgo) kullanılarak gc kullanılarak derlenir, bu yüzden en iyi bahsinizin gc'ye bir dosyayı yoksaymasını nasıl söyleyeceğimi anlamaya çalıştığını düşünüyorum . – evanmcdonnal
Hiç işlenmesini istemiyorum (go veya gcc) – pm100