Çalışma zamanı güncellenirken STL kabı verileri nasıl aktarılır.

İçinde bazı STL kapları kullanan .so dosyalarım var. Sorun şu ki .so'nun X sürümünün canlı olarak boşaltılması ve .so'nun Y sürümüyle değiştirilmesi, ancak veri kaybı olmadan ilgileniyorum. Veriler yalnızca ham bellek ise, geçiş yaparken işaretçileri yalnızca iletebilirdim, ancak normal STL kapları kullanmak istiyorum. Bunu yapmanın bir yolu var mı? Kopyalama bir problem değildir, içerdiği veriler aktarılabildiği sürece. Ayrıca eskisini boşalttığımda statik yıkıcılar devreye girecek.

0

1 cevap

1) X.so veriyi bir dosyaya kaydetsin mi (sürüm numarası ile!), X.so dosyasını kaldırın, Y.so yükleyin, Y.so dosyasını da dosyadan yükleyin. 2) bunun yerine sürüm adlarına sahip, her ikisini de yükle, Y.so 'nun konteynerlerini doğrudan X.so'nun konteynerlerinden doldurma (sürüm numarasını kontrol et!), Ardından X.so'yu boşalt.

Konteynerleri doğrudan iletmeyi gerçekten tavsiye etmiyorum, sanki ABI herhangi bir sebepten dolayı uyumsuz gibi görünüyor, para cezası derleyecek, fakat çalışma zamanında çökecek. Bu aynı zamanda ABI'lerin kasıtlı olarak değiştirilmesini de kolaylaştırır.

2
katma
katma yazar ildjarn, kaynak