1. C++ / Говнокод #7836

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    void crash()
    {
        (( void(*)() )0)();
    }

    Good crash :D

    Запостил: petersvp, 11 Сентября 2011

    Комментарии (43) RSS

    • было тут уже
      Ответить
    • petrosvan
      Ответить
    • Как заминусовали-то быстро.
      Ответить
    • Не crash, а ребут микроконтроллера. Было в обсуждении предыдущего такого поста.
      Ответить
    • следующий программист, которому это досталось
      Ответить
    • Кстати, это что делает - выполняет нулевой адрес, или выполняет участок, указатель на который расположен по нулевому адресу?
      Ответить
      • Лисперы негодуэ - где наши скобки?
        Ответить
      • первое
        Ответить
        • Если написать так:
          type TProc = procedure();
          TProc(nil)();
          То Дельфи-7 при компиляции выдаст ошибку, причём текст уже нельзя будет редактировать - недо перезапускать дельфу.
          А если написать так:

          type TProc = procedure();
          const Reset: TProc = nil;
          Reset();

          то всё становится просто и понятно.
          Ответить
          • >причём текст уже нельзя будет редактировать - недо перезапускать дельфу.
            Что из этого следует?
            Ответить
            • Что это баг в дельфе такой есть.
              Мне он жить, правда, нисколько не мешает.
              Ответить
              • Вы так говорите, как будто в этом глюкале единственный баг...
                Ответить
                • Вы так говорите, как будто в Дельфи-7 есть серьёзные баги. Это очень стабильная и надёжная система. Я сравнивал с ГНАТ-2010 и МСВС-98.
                  Ответить
                  • лол, настолько стабильна, что пока DEP не отключишь - не заработает
                    Ответить
                    • умвр
                      Ответить
                      • а на целеронах был DEP вообще?
                        Ответить
                        • Целероны разные бывают, бывают и с DEP. Сейчас они крутые стали. Это раньше были целероны даже без кэша.
                          Ответить
                        • На Атоме под Вин-7 тоже работает, правда под семёркой приколы есть: с админскими правами, не показывает окно компиляции, и для отладки надо каждый раз вместо F9 нажимать Ctrl+F9,F9.
                          Под хрюшей-СП3 работало вообще без проблем (правда, из-под админской учётки, простую я не проверял).
                          Ответить
                          • А наличие UAC под семёркой на работоспособность среды влияет?
                            Ответить
                            • Наличие чего?
                              Ответить
                            • Слоупоки UAC отключают, сидят под рутом и распространяют Win32.Induc.A :-)
                              Ответить
                              • У меня в Висте под UAC ничего не работало. Выключил — всё работает, ничего не цепляю. А у знакомых с включенным UAC вечные проблемы с вирусами.
                                Ответить
                          • > очень стабильная и надёжная
                            > правда под семёркой приколы есть
                            действительно, очень стабильная и надежная
                            Ответить
                            • Они не телепаты, чтобы в 2002 году сделать так, чтобы всё идеально работало под операционкой из будущего.
                              Короче, не смешно, я просто знаю, сравнивал, видел и билдер и падениями, и ГНАТ с невменяемым отладчиком, МСВС, которая из-за непонятных ошибок не компилирует правильный код.
                              Ответить
                              • Судя по тому, что Delphi 7 стремится писать в %ProgramFiles% - разработчики считали операционкой будущего Windows 98 :-)
                                Ответить
                                • А, ты про Common Files/Borland Shared? Ну поставь этой папке права на изменения.
                                  Ответить
                                  • мамке... всюду оно хочет писать, всюду
                                    пока UAC не грянет, быдлокодер не перекрестится
                                    Ответить
                                    • Да не всюду, один раз настроил, потом всё ништяк. Да и то, проблемы только в новых системах под ограниченной учёткой.
                                      Ответить
                                      • > под ограниченной учёткой
                                        членства в Power Users достаточно, возможно еще SeDebugPrivilege дать

                                        и вообще, если программа какает в /usr/bin, то лучше бы еще не запускать вне однопользовательских систем типа Win9x
                                        Ответить
                          • у меня в XPSP3 под правами пользователя работает (не продвинутый который).
                            держу 2 учетки, 1 с админскими правами, а вторая урезанная в хлам (под ней и сижу)
                            Ответить
                            • Да я 7ку тоже так поставил (запароленный админ для установки программ, урезанный беспарольный пользователь для работы), старая хрюша на ноуте медленно сдохла, поэтому теперь я боюсь.
                              Ответить
        • а может всё-таки второе, или сразу компот? :)
          Ответить
      • Набросал программку:
        int main() {
            ( (void (*)()) 0)();
            return 0;
        }
        в результате gcc сгенерировал примерно следующее:
        movl    $0, %eax
        call    *%eax
        movl    $0, %eax
        leave
        ret
        Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий