Şimdi 2020 yılındayız ve uzun zamandır beklenen C ++ modülleri özelliğinin yanı sıra C ++ 20 geliyor. Ancak CppCon'da birkaç görüşmeyi izledikten sonra, özellikle Linux paket yöneticileri için (pacman, apt, emerge, vb ...) C ++ modüllerinin garip bir yerde olduğunu görüyorum.
Öğrendiklerimden, C ++ modülleri
- Derleyiciye bağlı
- Clang'da GCC tarafından oluşturulan bir modülü kullanamazsınız
- GCC 9.1 modülleri GCC 9.2'de çalışmaz
- Aynı modülün birçok farklı sürümüne sahip olabilirsiniz
- Aynı kapsama ihraç edilmedikleri sürece
- Bağımlılıkları güncellenirse bir modülü yeniden oluşturmanız gerekir
Benim sorunum, tüm haddeleme sürüm dağıtım derleyiciler her zaman güncellenen ve kullanıcı kendi derleyici inşa olabilir. Şu anda sadece derleyiciyi güncelleyebilir veya güncelleyebilirsiniz libstdc++
. Ancak modüller ile, libstdc++
derleyici güncellendiğinde güncellenmesi gerektiği görülüyor .
Derleyici güncelleştirilirken paket yöneticisi güncelleştirmeyi, örneğin STL'yi nasıl ele alır? Derleyicinin her sürümü için STL modülünün her sürümünü oluşturmanın mümkün olduğunu düşünmüyorum. Kullanıcı da kendi STL modülünü oluşturmak zorunda değildir.