Android oyunları oluşturmak için Go kullanmak mümkün mü? Konu satırında belirtilen teknolojilere bağlı değilim. some people'un Go'da bazı Android programları oluşturduğunu biliyorum, ancak bunlar başsız olabilirler.Android oyunlarını Go ile NDK kullanarak ve/veya SWIG veya benzerleriyle oluşturmak mümkün mü?
cevap
Başsız uygulamalar istiyorsanız, önerim GUI için cgo kullanmak olacaktır. Bu kulağa tuhaf geliyor, ama NDK C android gui kütüphanelerini destekliyorsa, muhtemelen bu çağrıları kullanarak GUI yazmanın en kolay yolu olacaktır. Tabii ki, C'deki tüm mantığı yazmak zorunda değilsiniz. GUI çağrılarının her biri için sarmalayıcıları sadece cgo yapabilir ve her GUI çağrısının cgo ile çevrilmesi dışında GUI'yi yazabilirsiniz.
Hayır, şu anda mümkün değil. Git ve C programları, cgo ile birlikte çalışabilir. ancak bu durumda, Go programının programın C-tabanlı bölümüne kontrolden geçmeden önce çalışma zamanını başlatması ve başlatması gerekir.
Android'de NDK'yı kullanırken, C kodunuza Dalvik sanal makinesi dlopen aracılığıyla çağrılır. Bu yüzden, Git çalışma zamanı kendini başlatma şansına sahip olmaz.
C kodundan, başlangıç yapmak için Git seçeneğine çağrı yapılamadı mı? – kristianp
Evet, prensipte ... "domuzlar yeterli kinetik enerjiye sahiplerse uçabilirler" gibi. Ama Go ve cgo'nun bugün çalışma şekli, hayır. Mevcut uygulamanın temel bir sınırı, yürütülebilir dosyanın ELF başlığının Go derleyici tarafından yapılması ve Go's init koduna işaret etmesi gerektiğidir. Bir kez bittiğinde, Go, C kodunu çağırırken C stili bir yığın oluşturabilir ve ona geçiş yapabilir. –
Güzel benzetme :) – kristianp
- 1. node.js ile masaüstü uygulamaları oluşturmak mümkün mü?
- 2. OpenGL ES 2.0 NDK olmadan mümkün mü?
- 3. Android'de ham soketi NDK ile uygulamak mümkün mü?
- 4. kullanarak Soket() Android NDK
- 5. TableRow.insertCell() ile bir TH oluşturmak mümkün mü?
- 6. nw.js ile konsol uygulaması oluşturmak mümkün mü?
- 7. Android SDK'daki Ağaç Genel Görünümü'nü aynı şekilde, Ağaç Yapısı görünümünü oluşturmak veya oluşturmak mümkün mü?
- 8. Go satıcı kütüphanelerini Google App Engine ile kullanmak mümkün mü?
- 9. Android: ndk
- 10. React-Native ile çevrimdışı ilk uygulamalar oluşturmak mümkün mü?
- 11. C# kullanarak OrientDB ile çalışmak mümkün mü?
- 12. Android'de sched_setaffinity ile yakınlık ayarlamak mümkün mü?
- 13. getImageResource() Android. Mümkün mü?
- 14. Java gibi özel GUI oluşturmak mümkün mü?
- 15. Chrome'da dinamik tema oluşturmak mümkün mü?
- 16. Poky ile ikili bir paket oluşturmak mümkün mü?
- 17. Android için GoogleTest NDK C++ ile CMake
- 18. Android NDK
- 19. SWIG
- 20. İfade Dili'nde tarih değeri oluşturmak mümkün mü?
- 21. Android. ActiveJDBC mümkün mü?
- 22. Android'de PDF görüntüleyici oluşturmak mümkün mü?
- 23. F # ile Windows PowerShell Cmdlet'leri oluşturmak mümkün mü?
- 24. Sıfırdan bir elips (`...`) nesnesi oluşturmak mümkün mü?
- 25. Cordova App çevrimiçi oluşturmak mümkün mü?
- 26. Rails ile js dosyası oluşturmak ve çıktıyı küçültmek mümkün mü?
- 27. Image nesnesinden encodeb64 oluşturmak mümkün mü?
- 28. Java kullanarak bir Chrome uzantısı oluşturmak mümkün mü?
- 29. Kabuk betiğini kullanarak yinelemeli klasörler oluşturmak mümkün mü?
- 30. C++ 'da makroyu kullanarak "uzantısı yöntemleri" oluşturmak mümkün mü?
Git/cgo/Java, bu şekilde birlikte çalışamaz. –
Java kullanımını önermiyorum. NDK, android cihazlarda yerel C desteğini destekler - Java dahil değildir. Benim düşüncem, eğer NDK kullanarak C sistemindeki android sistem-bitlerini yazabilseydiniz, daha sonra cgo – joshlf
'u kullanarak bağlantı kurabilirsiniz. Uygulama yaşam döngüsünü anlamanız, uygulamanızın sürecinin dalvik zygote'un çatallı bir kopyası olduğunu ve UID/gid ayarınız doğru olduğunda, Android'den uygulamanıza Java çağırma sözleşmeleri aracılığıyla bir kontrol devri var. Yapmak istediğiniz ilk şey, kontrolü NDK tarafından derlenen C koduna teslim etmektir. Ancak Go'nun çalışma zamanı, adres alanında zaten çalışan Dalvik'in yokluğunda kendisini başlatmak istiyor. –