Hedef 1.5'ten bu yana, onu mevcut bir projeme nasıl entegre edebileceğime bir bakmaya başladım.Varolan bir C projesinde Go kodunu kullanma
Projenin kod tabanı, donanım ve diğer eğlenceli öğelere düşük düzeyde erişim için tamamen C dilinde yazılmıştır. Ancak, bazı üst düzey şeyler sıkıcıdır ve bunları daha yüksek bir dilde yazmaya başlamak istiyorum (Go)
Bir C programından Go kodunu çağırabilirmiyim? Çalışmaya çalıştığım -buildmode=c-archive
(https://golang.org/s/execmodes) ekleyen Go 1.5'i yükledim. Ancak, projemin gerçekten derlenmesini sağlamak için uygun üstbilgi dosyalarını üretmek için Git'i göremiyorum. Arşivi oluşturduğumda, verilen sembollerde (objdump kullanarak) işlevi görüyorum, ancak gcc'nin içerdiği fonksiyon hakkında eksiklik içermiyor (beklendiği gibi)
Gitmek için oldukça yeniyim - ancak Dili seviyorum ve bundan yararlanmak istiyorum. Birbiriyle güzelce oynaması için herhangi bir deyim var mı ("deyimsiz" Go Go dünyasında çok şey kullanır)?
Bu soruyu sordu ve özellikle Git 1.5 sözü neden bu belgeye göre, https://docs.google.com/document/d/1nr-TQHw_er6GOQRsF6T43GGhFDelrAP0NqSS_00RgZQ/edit?pli=1#heading=h.1gw5ytjfcoke Git 1.5 Git kodu çağıracak programları olmayan Go desteği eklendi olmasıdır. Spesifik olarak, "Git olmayan bir programa bağlanan ve aranan Git kodu" bölümü altında belirtilen "
Cgo ile ihracat yapıyor musunuz? Bağlayacağınız belge şöyle diyor: "Yalnızca değiştirilebilir semboller [cgo dokümanları] 'nda açıklandığı gibi (herhangi bir paket tarafından) işaretlenenler olacaktır (https://golang.org/cmd/cgo/#hdr-C_references_to_Go) ." Cgo dokümantasyonuna yapılan link, oluşturulan bir _cgo_export.h'den bahseder. –
Daha önce bir soru, cevabın hayır olduğunu söyledi. 1.5'de bir şey değiştiyse merak ediyorum ama şüphem var: http://stackoverflow.com/questions/6125683/call-go-functions-from-c –
Go 1.5'den bahsettiğim nedeni, bu belgenin özellikle Bu kodda beklemediğiniz sistemler tarafından çağrılan paylaşılan nesne dosyaları veya arşiv dosyaları oluşturabileceğinden bahseder. Bu kodun içinde "Git kodlu bir programa bağlanan ve aranan Git kodu" bölümü altında işaretlenir. https://docs.google.com/document/d/1nr-TQHw_er6GOQRsF6T43GGhFDelrAP0NqSS_00RgZQ/edit?pli=1#heading=h.1gw5ytjfcoke – dreadiscool