2010-10-16 11 views
7

Ben glib gibi bir şey düşünüyorum, ama muhtemelen en az ayak baskı ile ince bir sürümü. Bağlı listeler, vektörler ve karma tablolar gibi temel yardımcı programlara ihtiyaç duyacaktır. Ayrıca minimum çalışma zamanı ayak izi olmalıdır.Bir gömülü sistemde kullanmak için temel yardımcı işlevsellik ile iyi bir açık kaynak hafif c kütüphanesi olurdu

+1

Sisteminiz gerçekten sıkı kod boyutu gereksinimlerine sahipse, veri yapıları için genel amaçlı soyutlamalar kullanmak muhtemelen iyi bir yaklaşım değildir. Çoğu zaman, veri yapısının geri kalanıyla yakından bağlantılı bir uygulama ve kod, çok daha küçük ve daha basit olabilir. –

+0

Örneğin, sistem genelinde yönetilen bir dizi liste varsa, çoğaltılan bir mantıkla sonuçlanmaz mı? Birbirine sıkı sıkıya bağlı olanın yardımcı olabileceğini düşünmeme eğilimindeyim, ya da mantık sadece birkaç kez gerekli olsa bile, ama bir noktada genel amaçlı bir uygulama daha uygun görünüyor değil mi? Aksi takdirde tekrar tekrar aynı mantığı yeniden uygularsınız, bu da boşa harcanacak ve hataya yatkın olacaktır. – Kevin

cevap

4

Tam olarak bir kitaplık değil, test edilmiş, en iyileştirilmiş ve belgelenmiş bir kod parçası: sys/queue.h on * BSD ve Linux sistemleri çeşitli türlerde izinsiz giriş listeleri ve sıralar için makrolara sahiptir.

+0

Baktığımda bunun benim amacım için güzelce çalışacağını düşünüyorum. Teşekkürler. – Kevin

1

uthash güzel bir karma masa kütüphanesidir (tamamen makrodan yapılmıştır), ayrıca bağlantılı bir liste, dinamik dize ve dinamik dizi makroları ile birlikte gelir.

Ayrıca, basit ve iyi sınanmış bağlantılı listeler için sys/queue.h (larsmanlar tarafından önerilmektedir) önerilir.

İlgili konular