C 和 Win32:在没有任何明显原因的情况下发生错误 126

问题描述 投票:0回答:1

我正在用C创建一个Win32程序,执行以下代码时出现错误126:

#include <windows.h>
#include <stdio.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    printf("%d\n", GetLastError());
    return 0;
}

出现这种情况正常吗?还是外部问题?因为我发现这是一个DLL文件丢失的错误,但我的程序是要编译的。这是编译命令:

gcc main.c -o main.exe

我这样做只是因为它是为了尽可能保持简单,知道它来自哪里。

这是一个缩短版本,只是为了看看导致错误的原因。之前,我试图打开一个窗口,我怀疑错误 126 导致了所有其他错误。

c winapi
1个回答
0
投票

您显示的示例是调用

GetLastError()
,而不进行任何先前失败的 API 调用。 这是未定义的行为。 在这种情况下,
GetLastError()
返回的值是不确定

© www.soinside.com 2019 - 2024. All rights reserved.