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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    namespace Memory
    {
         #include <malloc.h>
    }

    Запостил: LispGovno, 16 Января 2015

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

    • Чувак придумал как спрятать тупые сишные операции в глубине хедеров в одном из хедеров.
      Я значит этот хедер подключил.
      Потом подключил подключил библиотеку, подключающую malloc.h напрямую. Как жаль что в этот раз я подключил библиотеку какого-то хиккана, который не понимает, что тупые сишные функции надо прятать поглубже в неймспейс.

      Очевидно я столкнулся с тем, что хедер malloc.h второй раз не подключается из-за препроцессора, который не понимает, что хедер подключили уже в другой неймспейс.
      Ответить
      • Fixed:
        namespace Memory
        {
             #include <malloc.h>
             #undef _MALLOC_H
             // TODO: #undef all headers included by malloc.h
        }
        
        Ответить
        • > // TODO: #undef all headers included by malloc.h
          Главное - универсальный подход
          // undef.h
          #ifdef _A_H
          #undef _A_H
          #endif
          
          #ifdef _B_H
          #undef _B_H
          #endif
          
          ...
          Ответить
          • namespace Memory
            {
                 #include <malloc.h>
             }
            using namespace Memory;
            Ответить
    • extern "C"
      {
           #include "Golovniak.h"
      }


      Не говно, а милая шалость просто один из трюков, Maddskillz.
      Ответить
    • vanished
      Ответить

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