yksoft1

其实微软也会写谭浩强风的源代码

  •  
  •   yksoft1 · Jan 30, 2015 · 5953 views
    This topic created in 4299 days ago, the information mentioned may be changed or developed.
    VOID DrawBackground(HDC hDC)
    {
    INT x, y;

    DrawBorder(hDC, 0, 0, x = dxWindow-1, y = dyWindow-1, 3, 1);
    DrawBorder(hDC, dxGridOff-3, dyGridOff-3, x -= (dxRightSpace -3), y - (dyBottomSpace-3), 3, 0);
    DrawBorder(hDC, dxGridOff-3, dyTopSpace-3, x, dyTopLed+dyLed+(dyBottomSpace-6), 2, 0);

    DrawBorder(hDC, dxLeftBomb-1, dyTopLed-1, dxLeftBomb+dxLed*3, y=dyTopLed+dyLed, 1, 0);
    DrawBorder(hDC, x =dxWindow-(dxRightTime+3*dxLed+dxpBorder+1), dyTopLed-1, x+(dxLed*3+1), y, 1, 0);
    DrawBorder(hDC, x = ((dxWindow-dxButton)>>1)-1, dyTopLed-1, x+dxButton+1, dyTopLed+dyButton, 1, 2);
    }
    这一段来自老版扫雷的源代码,问题在
    DrawBorder(hDC, x =dxWindow-(dxRightTime+3*dxLed+dxpBorder+1), dyTopLed-1, x+(dxLed*3+1), y, 1, 0);
    这一句。
    记得一个函数的多个参数里同时存在读取和写入一个变量的话是未定义行为吧
    我几年前研究这个扫雷源码时就注意到了,开不开优化会导致结果的改变
    11 replies  •  2015-01-31 06:23:24 +08:00
    s51431980
    s51431980
    Jan 30, 2015
    1
    哪来的代码?
    FrankFang128
    FrankFang128
    Jan 30, 2015
    2
    扫雷又不用升级
    sumhat
    sumhat
    Jan 30, 2015
    3
    要看 Windows 的编译器实现和 DrawBorder 的实现。万一 DrawBorder 是个宏呢……
    yksoft1
    yksoft1
    OP
    Jan 30, 2015
    4
    @sumhat 它不是一个宏,是一个普通函数
    yksoft1
    yksoft1
    OP
    Jan 30, 2015
    5
    @sumhat 而且肯定和编译器无关,那个源代码用MinGW和Cygwin的GCC都能编译成功
    zdf
    zdf
    Jan 31, 2015❤️1
    6
    谭浩强一个不会编程的人何来的谭浩强风。
    YouXia
    YouXia
    Jan 31, 2015 via Android
    7
    谭浩强即使再不会编程,也比论坛上大部分人代码写的好,逃。。。)
    skybr
    skybr
    Jan 31, 2015
    8
    @YouXia 前几天看到吴军在开扒老谭搞政干出身, 口才好, 但是不会写代码. 求真相啊.
    yksoft1
    yksoft1
    OP
    Jan 31, 2015
    9
    @s51431980 以前就那个2004年泄露的包里有,现在貌似有人开了SVN不断更新那个泄露包
    yksoft1
    yksoft1
    OP
    Jan 31, 2015
    10
    明天中午发送扫雷源码包,里面还有一点好玩的东西(NT4泄露源码里的16位Windows工具链部分文件)。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1411 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    ♥ Do have faith in what you're doing.