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

    +1

    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
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    void RedoLayout(HWND dialogWindow)
    {
    	RECT rectangle;
    	GetClientRect(dialogWindow, &rectangle);
    
    	/* Status */
    	SetWindowPos(GetDlgItem(dialogWindow, IDC_STATUS), dialogWindow, 
    		0,
    		rectangle.bottom - (layout[2].bottom - layout[2].top),
    		rectangle.right - rectangle.left,
    		(layout[2].bottom - layout[2].top),
    		SWP_NOZORDER);
    
    	/* Panel */
    	SetWindowPos(
    		GetDlgItem(dialogWindow,IDC_PANEL), dialogWindow,
    		(layout[1].left - layout[0].left),
    		(layout[1].top - layout[0].top),
    		rectangle.right - (layout[1].left-layout[0].left) - (layout[0].right - layout[1].right),
    		rectangle.bottom - (layout[1].top - layout[0].top) - (layout[0].bottom - layout[1].bottom),
    		SWP_NOZORDER);
    
    	/* Buttons & CheckBoxes */
    	for (int i = 0; i < sizeof(controls) / sizeof(controls[0]); ++i)
    	{
    		SetWindowPos(
    			GetDlgItem(dialogWindow,controls[i]), dialogWindow,
    			rectangle.right - (layout[0].right - layout[3 + i].left),
    			(layout[3 + i].top - layout[0].top),
    			(layout[3 + i].right - layout[3 + i].left),
    			(layout[3 + i].bottom - layout[3 + i].top),
    			SWP_NOZORDER);
    	}
    }

    Из SDK к Intel RealSense

    kingmonstr, 13 Сентября 2015

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

    +3

    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
    /*
    =============
    TempVector
    
    This is just a convenience function
    for making temporary vectors for function calls
    =============
    */
    float  *tv (float x, float y, float z)
    {
      static  int    index;
      static  vec3_t  vecs[8];
      float  *v;
    
      // use an array so that multiple tempvectors won't collide
      // for a while
      v = vecs[index];
      index = (index + 1)&7;
    
      v[0] = x;
      v[1] = y;
      v[2] = z;
    
      return v;
    }

    LispGovno, 13 Сентября 2015

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

    +7

    1. 1
    void parse_csv_string_string_string_string(string in_file, vector<string>& spectrum_id_list, vector<string>& file_name_list, vector<string>& name_list, vector<string>& id_list) {

    – Дяденька, осторожно, у вас клавиатура солидолом намазана...

    Yuuri, 31 Августа 2015

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    float data1[16];
    float data2[16];
    
    for (unsigned i = 0; i < 4; ++i)
        for (unsigned j = 0; j < 4; ++j)
            *(data1 + 4 * i + j) = *(data2 + 4 * i + j);

    jangolare, 26 Августа 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // пример использования Exaro в своей программе
    // http://www.wiki.crossplatform.ru/index.php/Qt/FAQ/Exaro
    int personId = QString(argv[1]).toInt();
    QString query(QString("SELECT person.id, person.name, city.title " \
    		" FROM person, city " \
    		" WHERE person.city = city.id and person.id = %1").arg(personId));

    OlegUP, 17 Августа 2015

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

    +4

    1. 1
    static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };

    Это я нашел в libJPG (они там в конец двинулись сдвигать отрицательные числа)

    maxis11, 16 Августа 2015

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

    +1000

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    uint16_t swap_bytes(uint16_t a){
      uint16_t tmp = *((uint8_t*)&a+1);
      *(((uint8_t*)&tmp)+1) = *((uint8_t*)&a);
      return tmp;
    }

    radmir, 28 Июля 2015

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

    +142

    1. 1
    typedef long char wchar_t;

    qnx4.25 /usr/include/stdlib.h:
    sizeof(long char) == 2

    Xom94ok, 25 Июля 2015

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

    +143

    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
    char * hmod = (char *)GetModuleHandleW(L"msenv.dll");
    IMAGE_DOS_HEADER *pDosHeader = (IMAGE_DOS_HEADER *)hmod;
    IMAGE_NT_HEADERS *pNtHeaders = (IMAGE_NT_HEADERS *)(hmod + pDosHeader->e_lfanew);
    char *pcode = (hmod + pNtHeaders->OptionalHeader.BaseOfCode);
    char *ecode = (pcode + pNtHeaders->OptionalHeader.SizeOfCode);
    
    while (pcode < ecode - sizeof(int))
    {
        if((*(int *)pcode) == 0xFFFFDCB8 ||
           (*(int *)pcode) == 0xFFFFDC89 )
        {
            wchar_t buf[1024];
            wsprintfW(buf, L"%p\n", pcode);
            OutputDebugStringW(buf);
        }
        pcode++;
    }

    А как в студийном отладчике искать по памяти?

    Ccik, 20 Июля 2015

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

    +142

    1. 1
    http://pastebin.com/NeWPms7u

    Лаконичное решение как разместить OpenCL и C++ в одном файле. Самое главное что можно спокойно отлаживать данный код. Также объявлять общие переменные и функции OpenCL и host коду. Единственное но! Придется задать пару флагов компилятору OpenCL кода для того чтобы сие подделие заработало. Главный принцип заключается в #if(n)def CL_DEVICE. По умолчанию он не объявлен. Также следует включить поддержку C++ в OpenCL. Скоро кстати выйдет OpenCL 2.1, и вполне возможно что такой трюк и там прокатит. Можно попробовать проделать это с шейдерами, но OpenCL подходит больше всего. Жаль что для OpenCL нету GLM, а если бы он щас был... Тогда можно было такое накодить.

    acterhd, 14 Июля 2015

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