gpt4 book ai didi

c - WinMain 的奇怪返回行为

转载 作者:可可西里 更新时间:2023-11-01 14:47:52 28 4
gpt4 key购买 nike

<分区>

首先,我应该指定我使用的是 Visual Studio 中的 clang 编译器。在调试以下简单程序时,WinMain 函数在似乎满足特殊条件时返回变量值。

#include <windows.h>    

int CALLBACK WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
int var = 1;
var = var + 5;
}

上面的代码会在调试器中输出:程序“[11396] Project1.exe”已退出,代码为 6 (0x6)。只要有变量名,这种行为似乎就会发生而不会失败在作业的右侧表达式中。如果我要修改最后一行以仅分配一个文字,例如 var = 5,则每次输出都是一个一致的无关值:The program '[4148] Project1.exe'已退出,代码为 -858993460 (0xcccccccc)。

我怀疑这种行为与 WinMain 有关,因为当我改用普通的 main() 时,我得到了预期的 0 返回。知道这种奇怪行为的原因是什么吗?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com