Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Сашенька
Зарегистрирован: 22.08.2013 Сообщения: 9
|
Добавлено: Пт Авг 23, 2013 13:21 Заголовок сообщения: |
|
|
Дэмок-то я достаточно навидался. (не только на платформу ПЦ, но и на коммодоры, атари 2600, амиги, спектрумы и тд.)
и .kkrieger видал.
Но вот как им это удаётся ? Как скомпилировать в минимум кода хотя бы простую инициализацию окна winAPI ? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Mikle
![](images/avatars/gallery/demos/av64k.jpg)
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Пт Авг 23, 2013 14:29 Заголовок сообщения: |
|
|
Сашенька писал(а): | ого............................................... Щас попробовал скомпилить пустое Win32 приложение, так оно уже весит 31кб. |
Выкинь все лишние зависимости и отладочную инфу. У меня, к примеру, на VC++2008 имеется DLL, в которой несколько десятков экспортируемых функций, общий размер - 15 кБ. Это без всяких crinkerов, я вообще её не старался уменьшать, просто из любви к порядку удалил лишнее. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
BiTL DOS lover
![](images/avatars/gallery/demos/bitl.gif)
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Пт Авг 23, 2013 16:28 Заголовок сообщения: |
|
|
Сашенька писал(а): | Дэмок-то я достаточно навидался. (не только на платформу ПЦ, но и на коммодоры, атари 2600, амиги, спектрумы и тд.)
и .kkrieger видал.
Но вот как им это удаётся ? Как скомпилировать в минимум кода хотя бы простую инициализацию окна winAPI ? |
Ну начнём с того - какой компилятор ты используешь? Во-вторых, как уже сказал выше Milke - нужно линковать только самое необходимое. В-третьих - есть паковщики ехе-шников. Ну и такая прекрасная вещь как Crinkler http://www.pouet.net/prod.php?which=18158 который используется для сборки 4кб-интро и 4к-процедурных картинок. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Сашенька
Зарегистрирован: 22.08.2013 Сообщения: 9
|
Добавлено: Пт Авг 23, 2013 16:33 Заголовок сообщения: |
|
|
Компилятор minGW gcc (среда кодблокс)
в линкере указано gdi32 kernel32 и user32.
Вот в принципе и всё. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
bi71
![](images/avatars/gallery/demos/bi71.gif)
Зарегистрирован: 14.07.2012 Сообщения: 872
|
Добавлено: Пт Авг 23, 2013 19:56 Заголовок сообщения: |
|
|
Сашенька писал(а): | ого............................................... Щас попробовал скомпилить пустое Win32 приложение, так оно уже весит 31кб. |
просто ворох ненужных пустышек кода. Насколько я помню, Тасм 5 делает программы в 4К, и после прогона утилитой размер .exe сжимается.
впрочем, nasm наше всё ![Cool](images/smiles/icon_cool.gif) _________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
f0x
![](images/avatars/gallery/demos/f0x.jpg)
Зарегистрирован: 23.09.2007 Сообщения: 498
|
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
bi71
![](images/avatars/gallery/demos/bi71.gif)
Зарегистрирован: 14.07.2012 Сообщения: 872
|
Добавлено: Вс Авг 25, 2013 09:40 Заголовок сообщения: |
|
|
Сегодня на поует куча 4к procedural graphics с Buenzil 2013 ![Cool](images/smiles/icon_cool.gif) _________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
random
Зарегистрирован: 21.04.2009 Сообщения: 96
|
Добавлено: Вс Авг 25, 2013 10:13 Заголовок сообщения: |
|
|
да, 4к компо было просто бомба, столько работ неплохих! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
BiTL DOS lover
![](images/avatars/gallery/demos/bitl.gif)
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вс Авг 25, 2013 11:22 Заголовок сообщения: |
|
|
bi71 писал(а): | Сегодня на поует куча 4к procedural graphics с Buenzil 2013 ![Cool](images/smiles/icon_cool.gif) |
продолжение традиций Унца и Ксиода http://www.pouet.net/prod.php?which=61791 |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
bi71
![](images/avatars/gallery/demos/bi71.gif)
Зарегистрирован: 14.07.2012 Сообщения: 872
|
Добавлено: Вс Авг 25, 2013 21:25 Заголовок сообщения: |
|
|
Что ли самому заняться? ![Cool](images/smiles/icon_cool.gif) _________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Сашенька
Зарегистрирован: 22.08.2013 Сообщения: 9
|
Добавлено: Вт Авг 27, 2013 11:20 Заголовок сообщения: |
|
|
чёт не догоняю, как именно проект в кодблоксе настроить.
Как убрать этот CRT. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
f0x
![](images/avatars/gallery/demos/f0x.jpg)
Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Ср Авг 28, 2013 10:52 Заголовок сообщения: |
|
|
по ссылке все ж расписано.
два варианта: линковать динамически явно указав линкеру либу msvcrt.lib и поставив флажок ingnore all default libraries - Yes (/NODEFAULTLIB)
либо вообще ее вырубить под корень но тогда все ф-ции crt придется писать самостоятельно _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
f0x
![](images/avatars/gallery/demos/f0x.jpg)
Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Ср Авг 28, 2013 10:53 Заголовок сообщения: |
|
|
еще есть opt:nowin98 он отключает выравнивание и код становится люто меньше, хотя после kkrunchy разницы нет вроде _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
bi71
![](images/avatars/gallery/demos/bi71.gif)
Зарегистрирован: 14.07.2012 Сообщения: 872
|
Добавлено: Вт Сен 10, 2013 07:50 Заголовок сообщения: |
|
|
нашел tcc, получилось 1536 байт:
Код: |
#include <windows.h>
void _start()
{
//MessageBox(NULL, "Hello world!", "Look mom, no MessyShitVCRT!", MB_OK);
HWND desk = GetDesktopWindow();
HDC dc = GetDC(desk);
MoveToEx(dc,0,0,NULL);
LineTo(dc,1680,1050);
ReleaseDC(desk,dc);
}
|
процедура _start() обязательно нужна, чтобы исключить mcsvcrt.dll
компилируется как:
Код: |
tcc -L "/lib" -I "/include" -I "/include/winapi" -luser32 -lgdi32 tst.c -o tst.exe
|
_________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
BiTL DOS lover
![](images/avatars/gallery/demos/bitl.gif)
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|