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

    +137

    1. 1
    printf("%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%f\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t", ...

    vayerx, 02 Марта 2011

    Комментарии (3)
  2. Си / Говнокод #5844

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(res < dateFrom)
        {
            res = dateFrom;
        }
        else
            return dateFrom;
        return res;

    Выгребаю из проекта...

    ccoder, 02 Марта 2011

    Комментарии (7)
  3. Си / Говнокод #5839

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #define v putchar
    #define print(x) main(){v(4+v(v(52)-4));return 0;} /*
    #>++++++4[>++++++<-]>++++.----.++++.**/
    print(202*2);exit();
    #define/*>.@*/exit()

    Для кого-то покажется бояном, но меня улыбнуло. Явно искусственный код взятый со stackoverflow.com

    xaionaro, 01 Марта 2011

    Комментарии (21)
  4. Си / Говнокод #5832

    +127

    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
    static void jz_update_dram_prev(unsigned int cur_mclk, unsigned int new_mclk)
    {
            /* No risk, no fun: run with interrupts on! */
            if (new_mclk > cur_mclk) {
                    /* We're going FASTER, so first update TRAS, RCD, TPC, TRWL
                     * and TRC of DMCR before changing the frequency.
                     */
                    jz_update_dram_dmcr(new_mclk);
            } else {
                    /* We're going SLOWER: first update RTCOR value
                     * before changing the frequency.
                     */
                    jz_update_dram_rtcor(new_mclk);
            }
    }

    Кусок кода из официального™ китайского дерева исходников Линукса для одного System-on-Chip.

    Реализует поддержку динамического изменения частоты процессора, а приведенная функция меняет тайминги для памяти (как обычно, весьма альтернативным способом). Что характерно, это вполне себе работает на реальном железе, и вроде бы оно у меня в этом куске ни разу не падало.

    whitequark, 01 Марта 2011

    Комментарии (22)
  5. Си / Говнокод #5722

    +136

    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
    static int getDns(int eid, webs_t wp, int argc, char_t **argv)
    {
            //....тут были еще переменные...
            int type, idx = 0, req = 0;
    
            if (ejArgs(argc, argv, T("%d"), &type) == 1) {
                    if (1 == type)
                            req = 1;
                    else if (2 == type)
                            req = 2;
                    else
                            return websWrite(wp, T(""));
            }
            //...дальше операции с req...
    }

    Такой вот китайский код демона goahead, пользуемого в embedded железяках...

    NiTr0man, 19 Февраля 2011

    Комментарии (10)
  6. Си / Говнокод #5721

    +141

    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
    #define N2(n)   #n"0",#n"1",#n"2",#n"3",#n"4",#n"5",#n"6",#n"7",#n"8",#n"9"
    #define N30(n)  #n N2(),#n N2(1),#n N2(2),#n N2(3),#n N2(4),#n N2(5),#n N2(6),#n N2(7),#n N2(8),#n N2(9)
    #define N3(n,k) #n#k"0",#n#k"1",#n#k"2",#n#k"3",#n#k"4",#n#k"5",#n#k"6",#n#k"7",#n#k"8",#n#k"9"
    #define N4(k)   N3(k,0),N3(k,1),N3(k,2),N3(k,3),N3(k,4),N3(k,5),N3(k,6),N3(k,7),N3(k,8),N3(k,9)
    #define N5      N30(),N4(1),N4(2),N4(3),N4(4),N4(5),N4(6),N4(7),N4(8),N4(9)
    
    const char s[][4]={N5};
    const int s_size = sizeof(s)/sizeof(s[0]);
    void print_number(int n) {
        if (n<s_size) {
            printf("!%s\n",s[n]);
        }
        else {
            printf("?%d\n",n);
        }
    }

    Отсылка к #3376 http://govnokod.ru/3376
    Вопрос к общественности: что бОльший говнокод, >100 строк строковых констант или 5-строчный пассаж на макросах?

    xredor, 19 Февраля 2011

    Комментарии (21)
  7. Си / Говнокод #5663

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //...
    	iInitCommDevicePeriod = GetPrivateProfileInt(extraTunungLine, _T("InitCommDevicePeriod"), INIT_COMM_DEVICE_TIMER_PERIOD / 1000, extraFilePath) * 1000;
    	iReconnectSocketPeriod = GetPrivateProfileInt(extraTunungLine, _T("ReconnectSocketPeriod"), CONN_WITH_SOCK_LOST_TIMER_PERIOD / 1000, extraFilePath) * 1000;
    	m_uiCheckLoopPeriod = GetPrivateProfileInt(extraTunungLine, _T("CheckLoopPeriod"), CCC_LINE_CHECK_LOOP_TIMER_PERIOD / 1000, extraFilePath) * 1000;	
    //....

    Автор тот же...
    мистическая инициализация таймеров.
    зачем делить default value на 1000 перед посылкой в функцию, чтобы потом результат умножить на 1000. Может, чтобы время было в целых секундах?

    ShuraKotov, 13 Февраля 2011

    Комментарии (7)
  8. Си / Говнокод #5561

    +129

    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
    #include <intrin.h>
    #include <stdarg.h>
    #include <stdio.h>
    int func()
    {
    va_list vl;
    int i;
    int arg,Z=1;
    va_start(vl,*(int *)_AddressOfReturnAddress());
    for(i=0;i<5;i++)
        {
             arg=va_arg(vl,int);    
             Z=arg*Z;
        }
     return(Z);
    }
    
    int main(void)
    {
    printf("%d",func(1,2,3,4,5));
    getchar();
    return 0;
    }

    гуру-вычисление факториала пяти одного красавчика с форума wasm.ru... был выведен, как пример функции с переменным числом параметров без единого явного параметра... грязный хак с адресом возврата на стеке - моя идея)))

    ReL, 07 Февраля 2011

    Комментарии (37)
  9. Си / Говнокод #5548

    +146

    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
    # include <stdio.h>
    # include <math.h>
    # include <conio.h>
    main() {
    int i,n;
    float y[12],a[12],b[12],c[12],d[12],e[12];
    clrscr();
    for (i=1;i<13;i++) {
    printf ("y[%d]= ",i);
    scanf ("%f",&y[i]); }
    //========================================//
    a[1]=y[2]-y[1];a[2]=y[3]-y[2];a[3]=y[4]-y[3];a[4]=y[5]-y[4];
    a[6]=y[7]-y[6];a[7]=y[8]-y[7];a[8]=y[9]-y[8];a[9]=y[10]-y[9];
    a[10]=y[11]-y[10];a[11]=y[12]-y[11];a[12]=0;
    b[1]=a[2]-a[1];b[2]=a[3]-a[2];b[3]=a[4]-a[3];b[4]=a[5]-a[4];
    b[6]=a[7]-a[6];b[7]=a[8]-a[7];b[8]=a[9]-a[8];b[9]=a[10]-a[9];
    b[10]=a[11]-a[10];b[11]=0;b[12]=0;
    c[1]=b[2]-b[1];c[2]=b[3]-b[2];c[3]=b[4]-b[3];c[4]=b[5]-b[4];
    c[6]=b[7]-b[6];c[7]=b[8]-b[7];c[8]=b[9]-b[8];c[9]=b[10]-b[9];
    c[10]=0;c[11]=0;c[12]=0;
    d[1]=c[2]-c[1];d[2]=c[3]-c[1];d[3]=c[4]-c[3];d[4]=c[5]-c[4];
    d[6]=c[7]-c[6];d[7]=c[8]-c[7];d[8]=c[9]-c[8];d[9]=0;d[10]=0;d[11]=0;d[12]=0;
    e[1]=d[2]-d[1];e[2]=d[3]-d[2];e[3]=d[4]-d[3];e[4]=d[5]-d[4];
    e[6]=d[7]-d[6];e[7]=d[8]-d[7];e[8]=0;e[9]=0;e[10]=0;e[11]=0;e[12]=0;
    printf ("Y\t\tY\t\tY2\t\tY3\t\tY4\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n",y[1],a[1],b[1],c[1],d[1],y[2],a[2],b[2],c[2],d[2],y[3],a[3],b[3],c[3],d[3],y[4],a[4],b[4],c[4],d[4],y[5],a[5],b[5],c[5],d[5],y[6],a[6],b[6],c[6],d[6],y[7],a[7],b[7],c[7],d[7],y[8],a[8],b[8],c[8],d[8],y[9],a[9],b[9],c[9],d[9],y[10],a[10],b[10],c[10],d[10],y[11],a[11],b[11],c[11],d[11],y[12],a[12],b[12],c[12],d[12]);
    
    getche();
    }

    Работа с массивами.

    Proger, 06 Февраля 2011

    Комментарии (18)
  10. Си / Говнокод #5547

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // Borland C++ - (C) Copyright 1991, 1992 by Borland International
    
    /*	HELLO.C -- Hello, world */
    
    #include <stdio.h>
    
    int main()
    {
    	printf("Hello, world\n");
    	return 0;
    }

    Копирайт, однако !

    Proger, 06 Февраля 2011

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