Кресты / Говнокод #11921 Ссылка на оригинал

0

  1. 1
Sleep("pause");

Написал как-то ночью. Без комментариев.

Запостил: qwertyuio qwertyuio, (Updated )

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

  • Долго будет спать... хотя, конечно, зависит от адреса, который будет дан сегменту кода.
    Ответить
    • сегмент кода тут не причем. в зависимости от платформы его может и не быть. зависит от указателя, который указывает на строку
      Ответить
    • Дык оно же вообще не скомпилится. Или вижуал студия уже научилась приводить const char* к unsigned int?
      Ответить
      • Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Я буду всегда читать комментарии до конца
        Ответить
    • Виндоапиблядство, или где-то еще есть Sleep() с заглавной буквы?
      Ответить
      • Этот код написан на С++, это кривые костыли С++ виноваты в том, что этот код такой.
        Ответить
        • Этот код запостили как код на С++, остальное недоказуемо.
          Ответить
          • это код на C
            импортировали windows.lib и не подключали windows.h
            и импортировали функцию Sleep:
            extern Sleep();
            В результате Sleep принимает произвольные параметры и типы.
            В крестах это не скомпилируется и не выполнится успешно.
            Ответить
        • На самом деле С++ это не скомпилит. А вот сишка - с ворнингом, но соберет. Поэтому данная претензия к крестоблядскому крестокомпилятору не принимается.

          @LispGovno
          > импортировали windows.lib и не подключали windows.h
          > и импортировали функцию Sleep:
          > extern Sleep();
          Да сишка и так соберет. Можно даже не париться с забыванием прототипа.

          P.S. Где здесь с++, qwertyuio?
          Ответить
          • Почему не соберет? Вы сигнатуру функции видели? Может это и не WinAPI вовсе 🙂
            Ответить
            • > Вы сигнатуру функции видели?
              Ну разве что там int Sleep(const char*)... Но это еще большее извращение чем приведенный код 😉
              void Sleep(const char *time) {
                  if (strcmp(time, "pause") == 0) {
                      printf("Press any key to continue...\n");
                      getchar();
                  } else {
                       sleep(atoi(time));
                  }
              }
              Ответить
                • С этими пунктами согласен (плюсанул), но не суть. Локализацию добавить не так уж сложно (да хоть тот же gettext), а sleep можно выбрать ифдефами в зависимости от платформы, или воспользоваться sleep'ом из более-менее высокоуровневых либ.

                  Еще недостаток - надо бы приводить time к нижнему регистру.
                  Ответить
                  • Со всеми пунктами согласен. Но с моей стороны было глупо придираться к говнокоду. Себя минусанул.

                    >gettext
                    Вот это круто... Я не в теме. POSIX? В винде нет?

                    >а sleep можно выбрать ифдефами
                    C++11: std::this_thread::sleep_for
                    Ответить
                    • >> gettext
                      > Вот это круто... Я не в теме. POSIX? В винде нет?

                      К POSIX это не относится. Под винду тоже вроде вариант есть. Правда, схема локализации выглядит довольно сложно по сравнению, скажем, с java api.
                      Ответить
  • Вообще, речь наверное должна идти о вызове system( "pause" );
    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8