Sadece merak ettiğim için - C++ 'da STL'nin işlevselliğine ilişkin herhangi bir C analogu var mı? Birkaç kişinin faturası doldurmayı düşündüğü glib adlı bir GTK+ kütüphanesinden bahsetmiştim, fakat C içinde STL işlevselliği sağlayacak başka kütüphaneler var mı?C Analog To STL
cevap
Evet, glib
oldukça iyi bir seçimdir: Bağlantılı listeler, diziler, karma tablolar vb. Gibi kapsayıcıları işlemek için birçok yardımcı program içerir. Ayrıca, GObject
adlı nesneyi kullanan bir çerçeve de vardır. C cinsinden sinyaller ve yuvalar içeren nesneler (C, gobject_set_property
gibi oldukça ayrıntılı işlev çağrısı olsa da, C nesneleri için herhangi bir sözdizimi yoktur). Ayrıca, ana döngüler için kod da vardır, böylece olay odaklı programlar yazabilirsiniz. wikipedia
diğer bilgiler: http://en.wikipedia.org/wiki/Glib
Glib aslen GTK bir parçasıydı, ancak komut satırı programlarında kullanabilirsiniz böylece olmayan GUI kod tamamen dışarı çarpanlarına: http://library.gnome.org/devel/glib/stable/
Omg, Ben C .. seviyorum –
STL'nin niteliği, C'nin sahip olmadığı şablonlara dayandığından beri, STL'ye C'ye yaklaşmak bile zor olacaktır. Bunun için en iyi ihtimalle, void * işaretlerini kullanan bazı koleksiyon sınıflarıdır. bilinmeyen nesne.
@James Curran, STL'ye bir _analog_ istiyordum. Şablonların bir C++ özelliği olduğunu anlıyorum. –
STL, yalnızca bir kapsayıcı kitaplığından daha fazlasıdır. –
STL'nin bir kapsayıcı kitaplıktan daha fazlası olduğunun farkındayım, bu yüzden "En iyi ihtimalle ümit edebileceğin en iyisi" –
- 1. İkili Arama C++ STL
- 2. C++ STL ayar aralığı
- 3. C++ Bir STL :: multimap
- 4. Neden C++ STL
- 5. C++ STL uyumlu Allocators
- 6. C++ STL kaldır hatası
- 7. IRB analog
- 8. C (kendi) yineleyici türü ++ (STL)
- 9. C++ ile problem çözme STL
- 10. Bir STL vektörünün içindeki bir C++ STL vektörünü bulmak için
- 11. C++ STL koleksiyonları ve C# koleksiyonlarının karşılaştırması?
- 12. C++/STL: std :: verilen adımla dönüşüm mü?
- 13. STL
- 14. C# GZipStream to String
- 15. C# string [] to int []
- 16. Kısmi C++ Şablon İhtisas STL kapsayıcılarla
- 17. C++ Karakter dizisini STL kullanarak kaldırma
- 18. Excel to SQL, C# kitaplıkları
- 19. C# to VB.NET Kod Dönüştürücü
- 20. portting isnan to C++ 11
- 21. C++ std :: string to boolean
- 22. Arduino'dan Android Studio'ya Analog Giriş
- 23. arduino atmega328 analog olarak sıfırlandıWrite
- 24. 2 paramlı yığın STL
- 25. STL takas dönüşü mü?
- 26. C++ tipleri inşa diziler, vektörler, için şablon işlevi, STL
- 27. Sahipliği STL kapsayıcılarına aktarın?
- 28. STL vektörü nasıl sıralanır?
- 29. Tasarım mantığının arkasında STL
- 30. Vektör içinde STL
Neden? Zamanın% 99'unu, derleyici ayarını değiştirerek iyi yazılmış C kodunu C++ koduna dönüştürebilirsiniz. Neden C++ kodunu kullanmaya başlamıyorsunuz? – davr
@davr, C++ kodu kullanıyorum. Ben sadece STL (ve onun veri yapıları) C gibi bir şey olasılığını merak ediyordum. C++ kullanarak dizileri kullanmayı durdurmak için söylüyorum - yerine kullanın. C. –
@davr Daha güvenli bir şey olsaydı merak ettim. Bu soru, sadece C derleyicileri sunan gömülü sistemler için kod yazan kişiler için oldukça kullanışlıdır. C++ stili programlamayı C içinde yapabilirsek, çok çeşitli gömülü işlemcilerde C++ işlevine sahip olabiliriz. – solvingPuzzles