1. Си / Говнокод #15200

    +117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    int mainCRTStartup()
    {
      int argc = 0;
      char* argv[MAX_CMD_ARGS + 1];
      char** pargv = argv;
      char* cmdLine = strdup(GetCommandLineA());
      int result = 0;
    
      g_module = GetModuleHandle(NULL);
      g_process = GetCurrentProcess();
      g_thread = GetCurrentThread();
      g_heap = GetProcessHeap();
    
      for (*pargv = strtok(cmdLine, " "); *pargv && argc < MAX_CMD_ARGS; *pargv = strtok(NULL, " "))
      {
        ++argc;
        ++pargv;
      }
    
      *pargv = NULL;
      result = main(argc, argv);
      free(cmdLine);
      return result;
    }

    Запостил: LispGovno, 27 Февраля 2014

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

    • Ответить
    • показать все, что скрытоЕбстал маму.
      Ответить
    • Да, я знал, что это будет здесь
      Ответить
    • >for (*pargv = strtok(cmdLine, " "); *pargv && argc < MAX_CMD_ARGS; *pargv = strtok(NULL, " "))
      А потом эту поделку поставить в Program files...
      Ответить
    • откуда дровишки?
      Ответить
      • Прямые трансляции от LispGovno с гейдева.
        Ответить
        • надеюсь, по лицензии
          Ответить
          • Авторские права нарушает, забыв указать ник автора.
            Ответить
          • по великодушному позволению предводителя гейдева тараса свет березняка
            Ответить
            • Мы его не выбирали!
              Я скоро планирую созвать #ГейДевМайдан
              Ответить
              • Лучше созови майдан против гомосексуалистов в гугле.
                Ответить
                • Где ты их там нашел? Поясни, я не въехал.
                  Ответить
                  • например, отделение, сделавшее НДК
                    сплошь пидоры, инфа 146%
                    Ответить
                    • А ты про этих... Я думал ты советуешь в поисковике (в гугле) их искать :)
                      Ответить
                  • Как это где? У них даже страничка где-то была, посвященная лгбт движению в их фирме ;)

                    Так что пидорасы в гугле есть, и их там уважают... (И, походу, именно они отвечают за нововведения в юзабилити гмыла, ютуба и самого гугла).
                    Ответить
                    • и за отключение приложений типа reader (слава кпсс, что знамя перехватил feedly).
                      Ответить
              • Ну как, создал?
                Ответить
    • Это говно родилось из-за очередного вижуалко-виндоблядства? main() с распарсенными аргументами поди есть только в ко-ко-консольных прогах, у которых никак не убрать ко-ко-консольку?
      Ответить
      • Хм, судя по стековерфлоу, эта проблема решается опцией /ENTRY:mainCRTStartup. И ко-ко-консоли не будет, и нормальный main/wmain работает.

        Значит тут решили сэкономить на спичках и отключить стандартную либу?
        Ответить
      • Оно родилось в угарном приступе маразма
        http://www.gamedev.ru/flame/forum/?id=186503
        Ответить
        • Дык оно еще и поставленную автором задачу не решает, лол ;)

          Не хотел инициализировать эти 4 глобалки ручками в main'е, так один хер инициализирует их ручками в mainCRTStartup.
          Ответить
    • >GetCommandLineA()
      facepalm.c
      Ответить
      • Юникод же нинужен. Автор об этом пишет в том треде на гейдеве.
        Ответить
      • cmdLine имеет тип ведь не wchar_t *
        и argv, в котором будет искаться это cmdLine - тоже char **
        Ответить

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