Yürütülebilir dosyamın boyutunu ciddi şekilde optimize etmem gerekiyor ( ARM
geliştirme) ve mevcut yapı şemamda ( gcc
+ ld
) kullanılmayan sembollerin sıyrılmadığını fark ettim .
arm-strip --strip-unneeded
Sonuçta ortaya çıkan çalıştırılabilir dosyaların / kitaplıkların kullanımı, çalıştırılabilir dosyanın çıktı boyutunu değiştirmez (neden olduğuna dair hiçbir fikrim yok, belki de yapamaz) .
Kullanılmayan sembollerin ortaya çıkan dosyadan çıkarılması için bina boru hattımı değiştirmenin yolu (varsa) ne olabilir?
Hatta bu düşünmek olmaz ama benim şimdiki gömülü ortam çok "güçlü" ve hatta tasarruf değil 500K
üzerinden 2M
çok güzel bir yükleme performans artışı sonuçları.
Güncelleme:
Maalesef şimdiki gcc
sürüm I kullanımı yoktur -dead-strip
seçeneği ve -ffunction-sections... + --gc-sections
için ld
çıkan çıkış için herhangi önemli bir fark vermez.
Bunun bir sorun haline gelmesine bile şok oldum, çünkü bunun gcc + ld
kullanılmayan sembolleri otomatik olarak kaldırması gerektiğinden emindim (neden onları tutmak zorunda kalıyorlar ki?).
boost
kitaplıkları kullanan bazı mevcut uygulamaları taşımaya çalışırsam , ortaya çıkan .exe
dosya birçok kullanılmayan nesne dosyası içerir ve mevcut gömülü çalışma zamanımın spesifikasyonları nedeniyle , bir 10mb
uygulamayı başlatmak , örneğin bir 500k
uygulamayı başlatmaktan çok daha uzun sürer .