У меня пока найденный на халяву mingw 2.0.0
В ём:
GCC-3.2-core-20020817-1
binutils-2.13-20020903-1
mingw-runtime-2.2
w32api-2.0
gdb-5.1.1-1
make-3.79.1-20010722 (binary renamed as mingw32-make)
binutils-2.13-20020903-1
mingw-runtime-2.2
w32api-2.0
gdb-5.1.1-1
make-3.79.1-20010722 (binary renamed as mingw32-make)
Так вот, если просто такой файлик компилировать
#include <windows.h>
int STDCALL
WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
{
MessageBox (NULL, "Test message", "Test", MB_OK);
return 0;
}
gcc -o hello.exe hello.c -Wl,-s,--subsystem,windows
То получаю размер 10752
Если попытать просто переименовать его в hello.cpp, начинаются затыки у линкера.
Действительно, помогает подключение библиотек ручками: либо supc++, либо stdc++
Для supc++ файлик становится сразу 50688
Без "затыков" срабатывает
g++ -o hello.exe hello.c -Wl,-s
Сам находит нужную либу, да и про целевой формат смекнул как-то
А вот попытка скомпилить такое (та же ком.строка)
#include <iostream.h>
int main (int argv, char** argc)
{
cout<<"hello, world";
}
И что характерно, это я не Америку открыл, судя по ихнему FAQ-у
http://www.mingw.org/mingwfaq.shtml#faq-cpp-size
Словеса там умные и непонятные...
А если конкретно, то в примере make_mod.sha у меня получилась make_mod.dll размером 56832
Командной строкой
%mingw%ing++.exe -shared *.cpp -o make_mod.dll -Wl,-s
Хотя в том же пакете Modules эта же DLL-ка сделанная дельфёй (с KOL-овским PStrList-ом) - 18944
Вот такие у меня и наблюдения