W dniu 2012-11-24 13:42, R.e.m.e.K pisze:
>> Nie zgodzę się. Popatrz na przykład na Visual Studio i roz-
>> miar plików .exe generowanych od VS 6.0 aż po 2010/2012.
>> Wcale się nie zwiększył, a być może nawet przeciwnie. Da się?
>
> Po pierwsze nie napisales czy masz na mysli C# czy C++.
Zapewne C++ VS6 nie miało C#
http://pl.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_6.0
Po drugie i jedno i
> drugie ma kawal kodu, ktory raczysz pomijac, wsadzony bezposrednio w system.
> C# ma .NETa. C++ ma run time libraries. Nie wiem czemu przemilczasz ten
> "detal". Programy Delphi nie wymgaja niczego do dzialania, co okupione jest
> zwiekszonym exe. Ale po co mialbys o tym wspominac, wszak to nie jest
> argument na korzysc Twoich kategorycznych stwierdzen.
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 );
}
Received on Sat 24 Nov 2012 - 14:40:02 MET
To archiwum zosta³o wygenerowane przez hypermail 2.2.0 : Sat 24 Nov 2012 - 14:42:02 MET