Самая короткая программа
или
begin while true do end.
или
begin while true do end.
Прочитал код медленно, и два раза, как Штирлиц из анекдота. И не дошло, не понял ни архитектуры, ни реализации!:( Автор, ты бы комменты ставил, а то ведь не понять тебя...
или
begin while true do end.
Это все, что ты вынес с форума за 3 года? Однако...
begin
end
а на с++
main {};
А "реализация" проста - хоть на том же батнике. Перл тоже должен съесть.
Вопрос "зачем" - это уже совсем другая история. Кстати, мой вариант в отличие от "авторского" (brodotsky) менее требователен к памяти и процессор нагружает меньше. ;)
{
}
функции в С/С++ обязаны иметь возвратный тип(с) Green :)
Такис образом:
int короче на букву, но тогда нужно делать return.
org 100h
nop
:)
Не есть, а была )) В некоторых не совсем добросовесных или старых компияторах )) Ровно как и warning, на остутствие return.
Так что не путайте народ )
{
}
Проверял на cl из VS2003 .Net, и на icc 9.0
ни ошибок, ни варнингов...
Только в C++ :)
[QUOTE=Ivanhoe]
int короче на букву, но тогда нужно делать return.
[/QUOTE]
По стандарту функция main обязана иметь возвращаемый тип int.
Т.о. код в топике имеет с т.з. C++ как минимум две ошибки и одно неявное приведение типов.
Хорошо, что это такая короткая программа.
[quote=Green]Т.о. код в топике имеет с т.з. C++ как минимум две ошибки и одно неявное приведение типов.
Хорошо, что это такая короткая программа.[/quote]Вывод - нафиг сишник )))
{
}
Проверял на cl из VS2003 .Net, и на icc 9.0
ни ошибок, ни варнингов...
2003-я студия просто еще не шибко строго относилась к стандарту, попробуй на 2005-ой ))
А icc скомпилял его как C, а не С++ код я так понимаю? А в С это помоему допустимо. )
Zorkus. Простое бесконечное зацикливание. Пессимистическая программа - нет выхода.
Lerkin. Это не все, что я вынес.
Просто посмотрите на название раздела форума.
ahilles. Я имел в виду - самая короткая
из что-нибудь делающих
(к тому же - слегка вредоносных).
Ivanhoe. Виноват, исправлюсь.
Имелось в виду main(){while(1);}
.nornad. К 0 байт никто и не стремится.
Вопрос "зачем" не всегда уместен -
некоторые вещи представляют теоретический интерес.
А где ваш вариант?
Ленность пишется с двумя "н".
OlgaKr. Тип возвращаемого значения
можно вовсе не указывать
(ни int, ни void - вообще ничего).
Компилятор, конечно привяжется со своим warningом.
Мол, function should return a value, или что-то такое.
Но все скомпилирует.
vectoroc. Все правильно про warning.
Про default int для меня новость.
Я думал, что по умолчанию void.
koderAlex. Ассемблер - это круто.
Впрочем, по функциональности
ваш код аналогичен указанному выше:
void main(){}
Правда, программа будет весить раз в 100 меньше.
Всем остальным. Не полная совместимость "сей" -
почти как конфликт браузеров.
Тема, старая, как "пи эр квадрат".
ИТОГ: закрывайте тему :)
org 100h
nop
:)
1 байт? а не 257, случайно?
org 100h -резервирует 256 байт, для PSP
ahilles. Я имел в виду - самая короткая
из что-нибудь делающих
(к тому же - слегка вредоносных).
...
koderAlex. Ассемблер - это круто.
Впрочем, по функциональности
ваш код аналогичен указанному выше:
void main(){}
Правда, программа будет весить раз в 100 меньше.
...
org 100h
db 2eh
db 0f2h
db 0f0h
db 67h
db 66h
db 0ffh
db 3eh
nop
:)
попробуй так ))
ну тогда
.code
org 100h
begin:
cli
jmp $
end begin
правда эфекто тока в 9х достигается...
echo Error!!!
goto lab
Но если уж так... то.
:lab
echo Error!!!
goto lab
call %0
Даже завершается сам :)
call %0
Даже завершается сам :)
Тогда уж
@call %0
Для пущей красивости :)
А вообще я не пойму никак - мы же вроде обсуждаем самую короткую программу с точки зрения кода, а не размера на харде. Или нет?
Ну если на то пошло, то определитесь хоть, как считать короткость программы:
- по размеру .exe
- по размеру в памяти (причём память тоже разная бывает....:rolleyes:))) )
- по размеру листинга
- по размеру сегмента кода
- по времени выполнения
- по времени именно работы, а не загрузки/выгрузки
или ещё как :p?
еще можно добавить философский аспект - самая короткая программа - пустая программа :)
А ведь размер листинга тоже можно по разному считать: размер в командах, размер в словах, размер в символах... )))))
оптимизатор оперативки:D , намример какой-нить RAM Optimizer..., так как объем занятой оперативки резко сокращается при её присутствии в последней. Причем объем овсобождаемой памяти при определенных условиях значительно больше размера занимаемой программой памяти, следовательно в памяти программа имеет отрицательный размер!!!!!
Самая короткая программа по объему занимаемого дискового пространства: дефрагментатор :D :D . Рассуждения аналогичные.
Еще более "короткая" программа по параметрам: объем потребляемой оперативки и пространства на харде - биос-функции определения сих параметров. Так как при добавлении оперативки/установки более объемного винта, они определяют новые размеры, тем самым "увеличивают" их.:D
Логично:D