- PVSM.RU - https://www.pvsm.ru -
Организаторы IOCCC [1] (Международный конкурс на самый непонятный код C) нажали кнопку «турбо». Если результаты прошлого конкурса опубликовали спустя четыре года после проведения, теперь прошло всего два месяца — и вот они [2].
Участвовать в конкурсе могут готовые программы размером меньше 4096 байт, при этом количество значимых символов, без учёта пробелов, знаков табуляции и знаков ; ( ), не должно превышать 2048. Задачей конкурса является «проверять компиляторы на стресс, демонстрировать тонкости языка программирования Си и важность соблюдения стиля программирования (делая обратное)».
Титул победителя (Best of Show) и звание «самой уменьшаемой» (most shrinkable) завоевал четырёхуровневый даунсэмплер akari (Makefile [3], akari.c [4]). Программа умеет уменьшать разную графику, в том числе ASCII-графику. Поскольку её исходный код тоже отформатирован в виде ASCII-графики, то она может уменьшить и свой исходный код. В результате получается другая валидная программа на C, которая может обрабатывать текст. И это тоже ещё не конец. Обработав код вторично с помощью новой программы, получается третья функциональная программа (здесь компилятор gcc уже начинает выдавать некоторые предупреждения, но всё равно сделает исполняемый файл).
Другие победители:
Автор: alizar
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obfuskatsiya/6591
Ссылки в тексте:
[1] IOCCC: http://www.ioccc.org/
[2] вот они: http://www.ioccc.org/years.html
[3] Makefile: http://www.ioccc.org/2011/akari/Makefile
[4] akari.c: http://www.ioccc.org/2011/akari/akari.c
[5] Makefile: http://www.ioccc.org/2011/blakely/Makefile
[6] blakely.c: http://www.ioccc.org/2011/blakely/blakely.c
[7] первичность клеточного автомата: http://en.wikipedia.org/wiki/Garden_of_Eden_%28cellular_automaton%29
[8] Makefile: http://www.ioccc.org/2011/borsanyi/Makefile
[9] borsanyi.c: http://www.ioccc.org/2011/borsanyi/borsanyi.c
[10] Makefile: http://www.ioccc.org/2011/dlowe/Makefile
[11] dlowe.c: http://www.ioccc.org/2011/dlowe/dlowe.c
[12] Makefile: http://www.ioccc.org/2011/eastman/Makefile
[13] eastman.c: http://www.ioccc.org/2011/eastman/eastman.c
[14] Amiga Boing Ball: http://www.youtube.com/watch?v=-ga41edXw3A
[15] Makefile: http://www.ioccc.org/2011/fredriksson/Makefile
[16] fredriksson.c: http://www.ioccc.org/2011/fredriksson/fredriksson.c
[17] Makefile: http://www.ioccc.org/2011/goren/Makefile
[18] goren.c: http://www.ioccc.org/2011/goren/goren.c
[19] Рене Магритте: http://ru.wikipedia.org/wiki/Магритт,_Рене
[20] Makefile: http://www.ioccc.org/2011/hamaji/Makefile
[21] hamaji.c: http://www.ioccc.org/2011/hamaji/hamaji.c
[22] Makefile: http://www.ioccc.org/2011/hou/Makefile
[23] hou.c: http://www.ioccc.org/2011/hou/hou.c
[24] Makefile: http://www.ioccc.org/2011/konno/Makefile
[25] konno.c: http://www.ioccc.org/2011/konno/konno.c
[26] Makefile: http://www.ioccc.org/2011/richards/Makefile
[27] richards.c: http://www.ioccc.org/2011/richards/richards.c
[28] Makefile: http://www.ioccc.org/2011/toledo/Makefile
[29] toledo.c: http://www.ioccc.org/2011/toledo/toledo.c
[30] Makefile: http://www.ioccc.org/2011/vik/Makefile
[31] vik.c: http://www.ioccc.org/2011/vik/vik.c
[32] Makefile: http://www.ioccc.org/2011/zucker/Makefile
[33] zucker.c: http://www.ioccc.org/2011/zucker/zucker.c
Нажмите здесь для печати.