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

    +167

    1. 1
    2. 2
    for(byte i = 3;i<129;++i)
      (state.programImpl[i])(state);

    Мне достался на поддержку этот проект. Это основной цикл программы, хотя их несколько. Есть некоторый массив, заполненный алгоритмом программыфункциями через

    PI programImpl= {
    beginPrg,
    //...
    };
    В зависимости от выполнения различных условий state.programImpl самомодифицируется во время выполнения этого цикла. Мне хочется сказать: "Возьми Lisp и никогда более не берись за С++!". А вообще, в этом проекте эта самомодификация просто не нужна. А теперь вопрос: "Что у человека с головой?"

    Говногость, 29 Сентября 2011

    Комментарии (9)
  2. C++ / Говнокод #8023

    +178

    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
    25. 25
    static long get_ver(unsigned short *src, unsigned char *dst)
    {
    	u8 tmp_buf[16];
    	s32 i = 0;
    
    	while(1)
    	{
    		if(dst[i] < '0' ||  dst[i] > '9')
    			break;
    
    		tmp_buf[i] = dst[i] % 0x30;
    		i++;
    	}
    
    	if(i == 1)
    		*src = tmp_buf[0];
    	else if(i == 2)
    		*src = (tmp_buf[0] * 10) + tmp_buf[1];
    	else if(i == 3)
    		*src = (tmp_buf[0] * 100) + (tmp_buf[1] * 10) + tmp_buf[2];
    	else if(i == 4)
    		*src = (tmp_buf[0] * 1000) + (tmp_buf[1] * 100) + (tmp_buf[2] * 10) + tmp_buf[3];
    
    	return i;
    }

    Функция читает из dst и пишет в src O_O

    mors, 28 Сентября 2011

    Комментарии (17)
  3. C++ / Говнокод #8011

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    void __fastcall TManageForm::bAnyCentralizerClick(TObject *Sender)
    {
    TBitBtn *Item = dynamic_cast<TBitBtn *>(Sender);
    int bit=0;	// по умолчанию - схват продольной, выход 0 платы 1
    
    if ( Item->Name == bThicknessCentralizer->Name)
    	bit=6;	// если схват толщины - выход 6 платы 1
    
    if (Item->Caption==centr_open)
    	bit++;	// "разжать" - всегда следующий выход после сжать
    a1->SetOutBit(bit);
    }

    Выставление дискретного выхода по дебильному алгоритму. Хотел как лучше, а получилось как всегда)))

    phys-tech, 28 Сентября 2011

    Комментарии (18)
  4. C++ / Говнокод #7978

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void f_ai(intrusive_ptr<serial> i);
    //...
    static serial ai;
    serial* ii=&ai;
    //...
    f_ai(ii);

    Компилируется, а потом грохается. С++ такой Си...

    CKrestKrestGovno, 25 Сентября 2011

    Комментарии (116)
  5. C++ / Говнокод #7975

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    temp = new LIST;
    temp = ptr->next;
    ptr->next = ptr;
    ptr = temp;

    Так меняют указатели местами при сортировке списка.

    brainfucker, 25 Сентября 2011

    Комментарии (17)
  6. C++ / Говнокод #7939

    +160

    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
    25. 25
    26. 26
    27. 27
    #if !defined(_CONSOLE) && !defined(BOOTSTRAP_AGENT)
     g_scheduler.Init(&g_Schedule);
    #endif
    #if (defined(UNDER_CE) || defined(MC_AGENT)) && !defined(BOOTSTRAP_AGENT) /*&& !defined(_CONSOLE) */&& !defined(MC_APM_AGENT)
     m_collector.InitializeFromPDB(/*GetPdbFile()*/);
    #endif
    #if (defined(UNDER_CE) || defined(MC_AGENT)) && !defined(BOOTSTRAP_AGENT) && !defined(_CONSOLE) && !defined(MC_APM_AGENT)
     m_Alert.InitializeFromPDB();
    #endif
    #if !defined( _CONSOLE ) && !defined(BOOTSTRAP_AGENT)
     g_ScheduleEngine.Add( this ); // install scheduler
    #endif
    #if !defined(BOOTSTRAP_AGENT) && !defined(MC_APM_AGENT) && !defined(PRINTER_AGENT)
     g_manager.LoadFromPDB();
    #endif
    
    #if (defined(UNDER_CE) && !defined(BOOTSTRAP_AGENT)) || (defined(MC_AGENT) && !defined(_CONSOLE))
     WriteMCConnectionStatus(MCA_CONN_STATUS_INITIALIZING);
    #endif
     ASSERT(pData != NULL);
     DWORD dwRetries = 0;
    
     bool bFirstDevPkgInstalled = false; // for HHI agent only
     while (pData->nTask != PDT_QUIT)
     {
    #ifdef HHI_AGENT
    ..............

    без комментариев

    Alek86, 22 Сентября 2011

    Комментарии (12)
  7. C++ / Говнокод #7938

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int excpt[]={03, 03, 03, 00};
    //...
    typedef int tex[sizeof(excpt)/sizeof(excpt[0])];
    typedef tex& texr;
    //... 
    throw texr(excpt);

    Уж сразу массив кидали, как исключение. Зря мелочились...

    Говногость, 22 Сентября 2011

    Комментарии (17)
  8. C++ / Говнокод #7930

    +160

    1. 1
    http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T

    Часовая презентация Герб Саттера о будущем C++.
    От себя хочется добавить: "Где здесь С++, Герб Саттер?"

    CPPGovno, 22 Сентября 2011

    Комментарии (113)
  9. C++ / Говнокод #7928

    +183

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #include "stdafx.h" 
    #include "windows.h" 
    #Define igra
    int main1(int argc, CHAR* argv[]) 
    { 
    ... 
    }
    
    int main2(int argc, CHAR* argv[]) 
    { 
    ... 
    }

    http://www.gamedev.ru/code/forum/?id=19939

    - Нужен выигрыш от двух праоцессоров.
    на двухпроцессорных материнках я могу использовать два mainа чтобы один процессор выполнял
    один мейн а второй второй мейн?или как мне добиться выгоды от двухпроцессоров?
    - конечно, все так и делают. вот я видел в интернете исходники под какой-то 256-процессорный гигант, дык там было сразу 256 майнов.
    - Вообще, имхо, с не консольными приложениями может не работать (на XP точно не работало). Используй WinMain##N.
    - Проверь сначала один main0. Если работает, значит у тебя всего один процессор, либо второй сломан.

    CKrestKrestGovno, 21 Сентября 2011

    Комментарии (35)
  10. C++ / Говнокод #7926

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    boolean b = true
    ...
    if ((b == true) && (b != false))
    {
    ...
    }
    ...

    alexprey, 21 Сентября 2011

    Комментарии (19)