Предлагаю соревнование =)

Аватара пользователя
uStick

Предлагаю соревнование =)

Сообщение uStick »

Собственно, давайте-ка посоревнуемся в написании минимального прЫложения под Маст... под Windows Изображение

Правила... или условия... хм:

1) прога должна делать следующее: показывать мессагу с произвольным текстом.

2) ссылки кидать сюда, не присылать вирей...

3) предупреждаю всех: перед запуском проверьте экзешник любимым дизассемблером на наличие всякой гадости...



ну вот и все... так как вам идея?



ПыСы

тока не бананьте мну Изображение
Аватара пользователя
McDAK

Re: Предлагаю соревнование =)

Сообщение McDAK »

uStick

А к чему такое странное соревнование? Во первых уточни, должна ли она обладать GUI или быть консольной, от этого ессно размер очень зависит? Потом, понятно, что размер будет зависеть от среды разработки, например я на ассме ее налабаю, врядли кто-то сможет написать еще короче. Потом ведь можно ехе-шник еще и упаковать. Моментов много, поэтому сформулируй условия более конкретно. Надеюсь я правильно понял - минимального в смысле размера?
Аватара пользователя
McDAK

Re: Предлагаю соревнование =)

Сообщение McDAK »

Значит нет оптимизации под любую версию виндовса, что не удовлетворяет условиям соревнования.
Аватара пользователя
Savant

Re: Предлагаю соревнование =)

Сообщение Savant »

uStick
Цитата:



но чего-то не видел там самого кода



Изображение
Аватара пользователя
Savant

Re: Предлагаю соревнование =)

Сообщение Savant »

uStick
Цитата:



Собственно, давайте-ка посоревнуемся в написании минимального прЫложения под Маст



Давайте Изображение. Оптимизация - это моё Изображение. Тока неизвестно в чем тут соревноваться - мин. размер файла формата PE = 1024 байт.


Цитата статья с msdn.microsoft.com:



The file alignment of sections in the executable file can have a significant impact on the resulting file size. In Visual Studio 6.0, the linker defaulted to a section alignment of 4KB, unless /OPT:NOWIN98 or the /ALIGN switch was used. The Visual Studio .NET linker, while still defaulting to /OPT:WIN98, determines if the executable is below a certain size and if that is the case uses 0x200-byte alignment.



Считаем: 0x200 - это 512 байт, в екзешнике минимум 2 секции (заголовок PE и секция кода) => 2*512=1024.
Оригинал статьи
.



Примеры этих "минимальных" приложений:



FAsm 1.52



Код:

Код: Выделить всё

format PE GUI 4.0
include 'c:\!Backup =)\e\fasm\include\win32a.inc'
; no section defined - FAsm will automatically create .flat section for both
; code and data, and set entry point at the beginning of this section
        invoke  MessageBox,0,_message,_caption,MB_ICONEXCLAMATION
        invoke  ExitProcess,0
_message db '1024 байт,13,'Писано на FAsm''e',0
_caption db 'ЫЫЫыыыыы :D',0
; import data in the same section
data import
 library kernel32,'KERNEL32.DLL',\
         user32,'USER32.DLL'
 import kernel32,\
        ExitProcess,'ExitProcess'
 import user32,\
        MessageBox,'MessageBoxA'
end data

К сожалению на днях погорел мой Seagate, поэтому не имею возможности откомпилить нижеприведенный код, но точно знаю, что его размер будет тоже 1024 байт

MSVC++.NET 2002



Код:

Код: Выделить всё

#include "windows.h"
#pragma comment(linker,"/MERGE:.rdata=.text")
#pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078")
#pragma comment(linker,"/ENTRY:mainnn")
#pragma comment(linker,"/NODEFAULTLIB")
void mainnn(void)
{
	MessageBox(0, "1024 байт\nПисано на MSVC++ 2002", "ЫЫЫыыыы :D", MB_ICONEXCLAMATION);
}
Аватара пользователя
uStick

Re: Предлагаю соревнование =)

Сообщение uStick »

Хм... воть у меня уже вышло 569 байт Изображение писал без компилятора - ручками Изображение показывает мессагу и пишет то же самое в файл...
Вложения
New.zip
(497 байт) 0 скачиваний
New.zip
(497 байт) 0 скачиваний
Аватара пользователя
uStick

Re: Предлагаю соревнование =)

Сообщение uStick »

McDAK

1) главное - чтобы был PE-файл минимального размера. все. ну и чтоб он работал ))

2) к чему? хм... а разве не интересно? ))
Аватара пользователя
Savant

Re: Предлагаю соревнование =)

Сообщение Savant »

uStick

Цитата:

1) главное - чтобы был PE-файл минимального размера. все. ну и чтоб он работал ))
Вложения
Вложение lol.png больше недоступно
Вложения

[Расширение png было запрещено, вложение больше недоступно.]

Аватара пользователя
uStick

Re: Предлагаю соревнование =)

Сообщение uStick »

Savant

блин Изображение все испортил ))) я писал под WinXP.. тама идет ))
Вложения
Вложение Untitled-2.gif больше недоступно
Вложения

[Расширение gif было запрещено, вложение больше недоступно.]

Аватара пользователя
McDAK

Re: Предлагаю соревнование =)

Сообщение McDAK »

uStick

Не идет Изображение , тока ошибка не 17, как у Savant, а 5.
Вложения
Вложение Error.JPG больше недоступно
Вложения

[Расширение jpg было запрещено, вложение больше недоступно.]

Ответить

Вернуться в «Программирование и базы данных»