Re: W czym Windows 8 jest lepszy?

Autor: artiun <artiun_at_spam.wp.pl>
Data: Sat, 24 Nov 2012 16:47:25 +0100
Content-Type: text/plain; charset=UTF-8; format=flowed
Message-ID: <50b0ecba$0$1307$65785112@news.neostrada.pl>

W dniu 2012-11-24 16:31, R.e.m.e.K pisze:
> Dnia Sat, 24 Nov 2012 15:26:16 +0100, Grzegorz Niemirowski napisa艂(a):
>
>>> Wielko艣膰 pliku wynikowego (exe) zale偶y w艂a艣nie od sposobu linkowania.
>>> Przyk艂adowo taki wxWidgets mo偶na kompilowa膰 statycznie i dynamicznie.
>>> Je艣li zak艂adam, 藕e spora ilo艣膰 oprogramowania b臋dzie dzia艂a艂a z u偶yciem
>>> tej biblioteki to kompiluj臋 dynamicznie, w innym przypadku statycznie.
>>> Tutaj taki przyk艂ad (zawarto艣膰 katalogu z testami wielko艣ci, robione by艂y
>>> zgodnie z pokazanymi datami)
>>> 2010-12-25 19:28 <DIR> .
>>> 2010-12-25 19:28 <DIR> ..
>>> 2005-12-02 00:39 853 !MinSize-gcc
>>> 2010-12-11 00:24 589 !MinSize-vc
>>> 2010-12-11 00:10 275 cvc7.cmd
>>> 2010-12-11 00:17 275 cvc8.cmd
>>> 2010-12-11 00:10 275 cvc9.cmd
>>> 2005-10-29 20:45 104 ms-vc.c
>>> 2010-12-10 23:23 365 ms-vc.cpp
>>> 2011-07-22 22:15 3072 ms-vc7-c-upx.exe
>>> 2011-07-22 22:15 3584 ms-vc7-c.exe
>>> 2011-07-22 22:14 3072 ms-vc7-cpp-upx.exe
>>> 2011-07-22 22:14 4096 ms-vc7-cpp.exe
>>> 2011-07-22 22:14 4096 ms-vc8-c-upx.exe
>>> 2011-07-22 22:14 5120 ms-vc8-c.exe
>>> 2010-12-11 00:17 380 ms-vc8-c.exe.manifest
>>> 2011-07-22 22:14 5120 ms-vc8-cpp-upx.exe
>>> 2011-07-22 22:14 7168 ms-vc8-cpp.exe
>>> 2010-12-11 00:17 380 ms-vc8-cpp.exe.manifest
>>> 2011-07-22 22:14 4096 ms-vc9-c-upx.exe
>>> 2011-07-22 22:14 5632 ms-vc9-c.exe
>>> 2010-12-11 00:07 616 ms-vc9-c.exe.manifest
>>> 2011-07-22 22:14 5120 ms-vc9-cpp-upx.exe
>>> 2011-07-22 22:14 7168 ms-vc9-cpp.exe
>>> 2010-12-11 00:07 616 ms-vc9-cpp.exe.manifest
>>> 23 plik(贸w) 62072 bajt贸w
>>> 2 katalog(贸w) 11609509888 bajt贸w wolnych
>>> Sam plik 藕r贸d艂owy (C) zawiera tylko:
>>> #include <stdio.h>
>>> int main( int argc, char* argv[] )
>>> {
>>> printf( "Is OK\n" );
>>> return( 0 );
>>> }
>>> C++ zawiera:
>>> #include <iostream>
>>> int main( void )
>>> {
>>> std::cout << "tresc\n" << std::endl;
>>> return( 0 );
>>> }
>>
>> Jak si臋 pokombinuje to mo偶na zej艣膰 nawet poni偶ej kilobajta. Mi po kr贸tkiej
>> zabawie wysz艂o 2,5 kB:
>> C:\Users\Grzegorz\Documents\Kody 藕r贸d艂owe\C++\SmallApp\Release>dir
>> SmallApp.exe
>> Wolumin w stacji C nie ma etykiety.
>> Numer seryjny woluminu: 98B8-B0D9
>>
>> Katalog: C:\Users\Grzegorz\Documents\Kody 藕r贸d艂owe\C++\SmallApp\Release
>>
>> 2012-11-24 15:23 2 560 SmallApp.exe
>> 1 plik(贸w) 2 560 bajt贸w
>> 0 katalog(贸w) 28 139 724 800 bajt贸w wolnych
>>
>> C:\Users\Grzegorz\Documents\Kody 藕r贸d艂owe\C++\SmallApp\Release>SmallApp.exe
>> Hello World!
>
> Ok, w ten sposob tez moge skompilowac program w Delphi. Samo konsolowe Hello
> World ma 4608 bajtow. Tylko wtedy musze dystrybuowac pliki dodatkowe, np.
> rtl150.bpl, ktory ma ponad 2MiB. W przypadku MSVC++ jest to o tyle wygodne,
> ze w systemie te biblioteki najczesciej sa, Delphi nie jest az tak
> popularne.
O tym napisa艂em wcze艣niej, na przyk艂adzie wxWidgets (wxWindows - nazw臋
musieli zmieni膰), mo偶e by膰 te偶: allegro czy QT, upp... i wiele innych (tu
pisz臋 o C++). Koszt jest sum膮 program贸w u偶ywaj膮cych danych biblioteki. Je艣li
ma to by膰 tylko jeden program, to lepiej linkowa膰 statycznie. Zw艂aszcza, 偶e
przyrost wielko艣ci pliku nie jest wymierny do ilo艣ci wykorzystanych
element贸w biblioteki (celowo element贸w, a nie klas/funkcji..)

Dygresja - kiedy艣 kumpel chcia艂 pisa膰 wirusy w Clipper'ze: 艢miech by艂 jak
chcia艂 si臋 doczepia膰 do plik贸w .exe (wtedy nie by艂o .dll, .bpl), a .ovl
(nak艂adki).
A ze kazda wersja Delphi posiada inny zbior bibliotek rtl (nawet
> w jednej wersji wystepuja rozne wersje po wiekszych service packach) totez w
> praktyce exe kompiluje sie ze wszystkimi modulami inside. Stad rozmiar hello
> world 900KiB czy nawet ponad 2 MiB w przypadku aplikacji z GUI.
>
A tu mia艂em kiedy艣 problem, program z Delphi u偶ywaj膮cy bibliotek zosta艂
dostarczony bez takowej biblioteki. Po prostu kto艣 nie sprawdzi艂 jak
zadzia艂a taki program na czystym systemie.
Received on Sat 24 Nov 2012 - 16:55:02 MET

To archiwum zosta硂 wygenerowane przez hypermail 2.2.0 : Sat 24 Nov 2012 - 17:42:02 MET