Używam Qt dla wbudowanej aplikacji dla systemu Linux i chcę, aby była jak najmniejsza. W tej chwili Jeśli utworzę statycznie skompilowany plik wykonywalny, będzie to 3,9 MB, a właściwie tylko za pomocą części GUI, których potrzebuję. Dostałem go do 3,9 Mb po prostu używając qconfig i parametrów konfiguracyjnych. Zastanawiałem się nad tym, ile można zmniejszyć, modyfikując kod źródłowy przed jego zainstalowaniem, jeśli ktoś zrobił coś takiego, jak małe ma go? dziękiQt :: Jak mały może być wykonany?
7
A
Odpowiedz
5
Pracowałem nad tym w systemie coldfire (bez mmu, mała pamięć, to znaczy rozmiar ma znaczenie).
Ponieważ cały GUI składał się z niestandardowych widgetów, usunęliśmy wszystkie klasy oprócz QWidget za pomocą qconfig. Zabraliśmy również możliwość usuwania wszystkich zasobów z plików projektów (tj. Ikon akcji itp.).
Wynik był, jeśli dobrze pamiętam, rozmiar biblioteki ~ 960kB. To raczej nie nadaje się do użytku, co powoduje, że musimy ponownie wprowadzić kilka widżetów. Nie mieliśmy jednak ani klawiatury, ani klawiatury, więc mogliśmy pisać małe, kompaktowe widżety. Gdy to zrobiliśmy, dodaliśmy styl do widżetów, zmniejszając potrzebę posiadania QStyle itp.
Powiązane problemy
- 1. nokiax zgłasza wyjątek java.lang.RuntimeException: natywny krój pisma nie może być wykonany
- 2. Mały serwer WWW
- 3. Czy tylko kompilator skompiluje kod, który może zostać wykonany?
- 4. Jak może (1 +) być kiedykolwiek funkcją?
- 5. Jak gniazdo może być podłączone i zamknięte?
- 6. - [UIApplication openURL:] Jak długo może być NSURL?
- 7. Jak ten kontekst otoczenia może być pusty?
- 8. Jak duża może być tablica Pythona?
- 9. Jak typ właściwości bean może być pusty?
- 10. Jak może być tak szybkie wysyłanie pakietów?
- 11. Czy nazwy obiektów Qt muszą być unikatowe?
- 12. CURLOPT_FOLLOWLOCATION nie może być aktywowany
- 13. Jak mogę obsłużyć metodę interfejsu, która może być lub może nie być asynchroniczna?
- 14. Jak mały powinienem tworzyć moduły w Haskell?
- 15. Qt Designer nie może promować QMainWindow
- 16. Qt 5.5.0 nie może znaleźć funkcji OpenGL
- 17. FsXaml.Wpf.TypeProvider nie może być załadowany
- 18. Czy buforowanie QML w Qt 5.8 może być wyłączone dla konkretnego projektu?
- 19. Kiedy aplikacja może być grą?
- 20. Relacja @ManyToOne może być pusta?
- 21. org.json.simple nie może być rozwiązany
- 22. Czy JavaScript może być bootowany?
- 23. Detektor "kliknięcie" zostanie wykonany wielokrotnie
- 24. Czy REST w praktyce może być bezpaństwowcem?
- 25. Mały przykład modułu Jackson Scala?
- 26. Klipsy - mały program rutynowy
- 27. Jak jest mały przepełnienia całkowitą unikać JavaScript
- 28. DialogFragment jest pełnoekranowy. Jak to zrobić mały
- 29. QT Jak osadzić aplikację w widgecie QT
- 30. Czy aplikacja Backbone.js może być stopniowo ulepszana i może być indeksowana przez wyszukiwarki?
Czy usunąłeś symbole debugowania? – FrustratedWithFormsDesigner
Nawet netbook ma co najmniej 1 GB, dlaczego martwisz się mniej niż 4 MB? – stacker
@stacker Embedded często sugeruje coś mniejszego niż netbook. Na przykład, czy router sieciowy Linux ma dysk twardy o pojemności 1 GB? –