首页
社区
课程
招聘
[求助]这段代码在发行版里没有输出.
发表于: 2009-4-27 09:30 4499

[求助]这段代码在发行版里没有输出.

2009-4-27 09:30
4499
#include <stdio.h>
#include <windows.h> 
#include <process.h>

int g_nCount1 = 0;
int g_nCount2 = 0;
BOOL g_bContinue = TRUE;

UINT __stdcall ThreadFunc(LPVOID);

int main(int argc, char* argv[])
{
    UINT uId;
    HANDLE h[2];
    
    h[0] = (HANDLE)::_beginthreadex(NULL, 0, ThreadFunc, NULL, 0, &uId);
    h[1] = (HANDLE)::_beginthreadex(NULL, 0, ThreadFunc, NULL, 0, &uId);


    // 等待1秒后通知两个计数线程结束,关闭句柄
    Sleep(1000);
    g_bContinue = FALSE;
    ::WaitForMultipleObjects(2, h, TRUE, INFINITE);
    ::CloseHandle(h[0]);
    ::CloseHandle(h[1]);
    
    printf("g_nCount1 = %d \n", g_nCount1);
    printf("g_nCount2 = %d \n", g_nCount2);

    return 0;
}

UINT __stdcall ThreadFunc(LPVOID)
{
    while(g_bContinue)
    {
        g_nCount1++;
        g_nCount2++;
    }
    return 0;
}
//在调试里有输出,在发行版里就没有输出为什么啊?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我用gcc调试加发行版运行时OK的。
楼主机器是怎么回事呢
2009-5-5 12:54
0
雪    币: 292
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你让编译器同时生成汇编代码看看,估计是被优化掉了
2009-5-16 11:05
0
游客
登录 | 注册 方可回帖
返回
//