Комментарии 48
Вспомнилось:
Ну так это задание такое, между прочем, веселое.
Просто вспомнилась безобидная картинка. Критиковать задание я не собирался.
Вспомнился безобидный анекдот:
На собрании колхоза идут выборы нового председателя. Народ активно обсуждает одного успешного кандидата. Вдруг, какой-то колхозник встает и говорит:
— Мы не можем его выбрать. У него обе дочери б… ди.
Ему говорят:
— Но у него нет дочерей. У него только один сын.
Колхозник отвечает:
— Ну, мое дело сказать, а там вы сами уже решайте.
На собрании колхоза идут выборы нового председателя. Народ активно обсуждает одного успешного кандидата. Вдруг, какой-то колхозник встает и говорит:
— Мы не можем его выбрать. У него обе дочери б… ди.
Ему говорят:
— Но у него нет дочерей. У него только один сын.
Колхозник отвечает:
— Ну, мое дело сказать, а там вы сами уже решайте.
Вас критикуют не потому что, картинка обидная, а потому что приелась. Попробуйте внести разнообразие.
Ну приелась картинка, ну был не прав. Но зачем сразу в карму то лезть? Просто хотел пошутить.
Перед тем как лезть в карму, лезут в ваш Хабрацентр. Заходят в посты и что видят? Ничего. Потом заходят в ответы. Что видят там? Тоже ничего. Более дотошные могут почитать ваши вопросы (которых тоже нет) и комментарии. После этого идёт оценка вашего вклада в сообщество, позволяет этот вклад так ошибаться с шутками, или нет. И только уже тогда дело доходит до кармы.
Вполне можно было оформить статью как перевод, зачем делать пересказ от третьего лица, при том, что написано практически то же самое.
Это ализар, он никогда не пишет переводов. Вместо этого он делает пересказ практически того же самого от третьего лица. :)
Думая над тем, какую суть несёт ваш ответ — «Это ализар, и этим всё сказано» или «Это ализар, ему можно» — пришел к выводу, что правильное всего будет «Это хабр, и этим всё сказано».
Дык они же по ППА оцениваются дороже ;)
Проверено, действительно не работает :)
Маленькая по длине исходного текста или по объему исполняемого файла?
По-моему ответ очевиден.
Мне кажется, что постановка задачи «исходный код на С, который компилируется в самый маленький сбойный исполняемый файл» тоже может быть интересна
В Code::bloks с компилятором gcc просто
main;
не компилируется, а вот int main;
работает так как нужно :)А у меня на маке gcc съел:
f0b0s-osx:tmp f0b0s$ cat 1.c
main;
f0b0s-osx:tmp f0b0s$ gcc-4.7 1.c
1.c:1:1: warning: data definition has no type or storage class [enabled by default]
f0b0s-osx:tmp f0b0s$ ./a.out
Bus error: 10 (core dumped)
f0b0s-osx:tmp f0b0s$ cat 1.c
main;
f0b0s-osx:tmp f0b0s$ gcc-4.7 1.c
1.c:1:1: warning: data definition has no type or storage class [enabled by default]
f0b0s-osx:tmp f0b0s$ ./a.out
Bus error: 10 (core dumped)
gcc и на Debian лишь ругается, но компилирует:
> gcc a.c
> a.c:1: warning: data definition has no type or storage class
> ./a.out
> Segmentation fault
> gcc a.c
> a.c:1: warning: data definition has no type or storage class
> ./a.out
> Segmentation fault
Есть такое.
Проверил на MinGW 4.8.0 и msvc-9.0 — оба съели int main; и оба не съели main;
Проверил на MinGW 4.8.0 и msvc-9.0 — оба съели int main; и оба не съели main;
В оригинале ведь есть еще «Update»:
Hacker News user femto pointed out that it is possible to compile and link an empty file. I did not post this because gcc will refuse to compile and link the program – it requires compiling and linking separately.
Уже было на Хабре и намного раньше, чем это делал шведский студент, более того — в комментариях сами хабравчане довели вариант до идеала. Искать лень, но было, годах в 2011-2012.
Компилед спицефик, не более.
Попробуйте написать сбойную программу под весь зоопарк компиляторов, и чтобы он везде работал. И добавле в буст.
Попробуйте написать сбойную программу под весь зоопарк компиляторов, и чтобы он везде работал. И добавле в буст.
Как-то на stackoverflow был задан вопрос, как в минимум кода получить исключение OutOfMemoryException (.net)? Ребята старались, пытались создать бесконечную строку, но победил такой ответ:
throw new OutOfMemoryException();
Вот ссылка на вопрос: What's the easiest way to get an OutOfMemoryException in C#?
Это напоминает историю с функцией get_random_number().
Вот, например, еще более короткая программа (вообще пустой файл), которую можно собрать специальным образом (gcc):
$ cat test.c
$ gcc -Wl,--unresolved-symbols=ignore-all test.c
$ ./a.out
Segmentation fault
$ cat test.c
$ gcc -Wl,--unresolved-symbols=ignore-all test.c
$ ./a.out
Segmentation fault
Я писал такое в университете, но всё-равно мне никто не поверит.
… которая вылетает с ошибкой (segfault). Обычно студенты в таких ситуациях используют деление на ноль.Если понимать буквально, то деление на ноль вызывает вовсе не segmentation fault, а SIGFPE.
Сегфолты связаны с ошибками обращения к памяти, и main=0 — как раз такой случай.
Джестер Огвист (Jesper Öqvist) — почему ДжесТер, почему ОГвист? Джеспер Оквист же, не?
Jesper Öqvist — тогда уж Еспер Эквист (ударение на и)
Интересное задание, я призадумался. Написал бы наверное
std::bad_alloc. по-любому.
int main()
{
unsigned long long* k = new unsigned long long[0xFFFFFFFF];
delete []k;//для очистки совести
return 0;
}
памяти нужно 2^3*(2^32-1) = 2^35 байт = 32 гб без малого при восприятии как unsigned. Иначе 0xFFFFFFFF=-1.std::bad_alloc. по-любому.
Ребят, хватит делить на ноль, еще чуть-чуть и мы узнаем как вымерли динозавры.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Самая маленькая сбойная программа на C