SGJ Opublikowano 28 Listopada 2004 Zgłoś Opublikowano 28 Listopada 2004 Potrzeba mi zmniejszyc wielkośc tworzonych plików . Wyrzucenie niepotrzebnych z uses nic nie daje, kilka KB mozna zyskać kasując niepotrzebne zasoby z juz skompilowanych plików, kompresja upx/aspack zmniejsza plik o połowe ale pliki nadal są za duże. Mozna jeszcze przestawić na niewkompilowywanie bibliotek rtl w program ale wtedy będe musiał dołączyć pliki do programu bo nie odpali się na systemie bez delphi. Da sie cos jeszcze zrobić? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
marcinEc Opublikowano 28 Listopada 2004 Zgłoś Opublikowano 28 Listopada 2004 Potrzeba mi zmniejszyc wielkośc tworzonych plików . Wyrzucenie niepotrzebnych z uses nic nie daje, kilka KB mozna zyskać kasując niepotrzebne zasoby z juz skompilowanych plików, kompresja upx/aspack zmniejsza plik o połowe ale pliki nadal są za duże. Ponieważ nie napisałeś dokładnie co w Delphi piszesz (a Delphi wcale nie implikuje programu okienkowego i to jeszcze w VCL...) to podaje różne możliwości. RTFH na temat generowania kodu. Wyłączyć generowanie/linkowanie debug info, line numbers, itd. Włączyć generację nastawioną na rozmiar, nie na szybkość. Włączyć generację kodu dla procesora Pentium (lub nowszego). Linkować tylko używane biblioteki (o ile automatycznie Delphi tego nie robi?). Wyłączyć wyjątki (?). Wyłączyć sprawdzanie indeksów tablic, NULL pointerów, itp. (?) [(?) Niestety akurat nie mam w tej chwili dostępu do Delphi i dokładnie nie mogę sprawdzić jakie są te opcje, i czy są w Delphi] NIE UŻYWAĆ VCL! Zamiast tego Windows API (o ile się umie i można...). [inne wyjście -> KOL http://bonanzas.rinet.ru/] Zmienić Delphi na nowszą wersję. Zmienić język programowania na C/C++ :) No niestety - jak się chce mieć łatwo to płaci się wielkością pliku, i jeszcze ten VCL... ech. Mozna jeszcze przestawić na niewkompilowywanie bibliotek rtl w program ale wtedy będe musiał dołączyć pliki do programu bo nie odpali się na systemie bez delphi.No niestety, tu już nic nie poradzisz... Albo runtime DLL, albo linkowanie do (dużego) exe. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 28 Listopada 2004 Zgłoś Opublikowano 28 Listopada 2004 Zmienić Delphi na nowszą wersję.To akurat daje odwrotny efekt bo program/dll skompilowany pod delphi 2005 jest większy niz w D7. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
marcinEc Opublikowano 28 Listopada 2004 Zgłoś Opublikowano 28 Listopada 2004 Zmienić Delphi na nowszą wersję. To akurat daje odwrotny efekt bo program/dll skompilowany pod delphi 2005 jest większy niz w D7. Oczywiście poprawienie generacji/optymalizacji kodu nie oznacza, że nie dodają mnóstwo rzeczy (klas czy całych technologi) do VCL... No ale to tak jak napisałem: albo małe albo VCL :roll: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 29 Listopada 2004 Zgłoś Opublikowano 29 Listopada 2004 Zmienić język programowania na C/C++ :) No niestety - jak się chce mieć łatwo to płaci się wielkością pliku, i jeszcze ten VCL... ech. Albo runtime DLL, albo linkowanie do (dużego) exe. 1. A po co ? Object Pascal w niczym nie ustępuje C++ , jest równie szybki. 2. Co chcesz od VCL, to jest ogólnie mówiąc najbardziej user-friendly biblioteka (MFC i WinApi, jest bleee) 3. Jak słyszę gadanie o dużym .exe to smutno mi się robi :) To nie te czasy już, bo teraz nie liczy się +400 kB kodu więcej tylko jego szykość i stabilność , a dam se głowę uciąć że te + 400kb kodu (czy ile tam jest w Delphi) sprawia że program wykonuje się szybciej mając to w sobie na stałe zintegrowane niż jakby miał to tworzyć dynamicznie przez MSWirusa czy odczytywać z jakiegoś pliku biliotek. Większy .exe , .dll ale szybszy i bezproblemowy. Te, gościu czytaj może oryginalny post, co?Ja nie gość :wink: ja tu już od dawna jestem :) :x Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
marcinEc Opublikowano 29 Listopada 2004 Zgłoś Opublikowano 29 Listopada 2004 Zmienić język programowania na C/C++ :) No niestety - jak się chce mieć łatwo to płaci się wielkością pliku, i jeszcze ten VCL... ech. Albo runtime DLL, albo linkowanie do (dużego) exe. 1. A po co ? Object Pascal w niczym nie ustępuje C++ , jest równie szybki. 2. Co chcesz od VCL, to jest ogólnie mówiąc najbardziej user-friendly biblioteka (MFC i WinApi, jest bleee) 3. Jak słyszę gadanie o dużym .exe to smutno mi się robi :) To nie te czasy już, bo teraz nie liczy się +400 kB kodu więcej tylko jego szykość i stabilność , a dam se głowę uciąć że te + 400kb kodu (czy ile tam jest w Delphi) sprawia że program wykonuje się szybciej mając to w sobie na stałe zintegrowane niż jakby miał to tworzyć dynamicznie przez MSWirusa czy odczytywać z jakiegoś pliku biliotek. Większy .exe , .dll ale szybszy i bezproblemowy. Tak, tak... Mnie też by się przydał masażysta... Te, gościu czytaj może oryginalny post, co? "Potrzeba mi zmniejszyc wielkośc tworzonych plików . [...]" :evil: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 29 Listopada 2004 Zgłoś Opublikowano 29 Listopada 2004 Większy .exe , .dll ale szybszy i bezproblemowy.Tak, dobrze, przy pojedynczym programie nie jest zle ale mój program będzie miał kilkanascie(/dziesiat) dll'i. Ogólie to chyba nie będe wkompilowywał rtl i vcl , te pliki zajmują 2 MB, po kompresji ~1MB a i tak całośc będzie dużo mniejsza, bo dll'e bedą miały od 20 do 40 KB zamiast 400. Tylko program głowny musze skompilowac normalnie bo mi jakimis błedami wali. Ale w sumie i tak w Delphi te pliki nie są takie duże, wczoraj zainstalowaem Lazarus(taki darmowy odpowiednik delphi) i tam program z pustą formą po kompilacji ma 5.8 MB 8O Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...