我在处理细分错误时遇到了麻烦。以下完整性检查将引发一个:

#include <windows.h>
int main()
{
    LPSYSTEMTIME startTime;
    GetSystemTime(startTime);
}


但是,我在更大的程序中使用了相同的代码,并且运行起来没有问题。我尝试过在各个地方添加延迟,以防问题是由于GetSystemTime()中的某种多线程引起的,但是并不能解决问题。

我正在使用CodeBlocks中的MinGW-GCC进行编译。

最佳答案

LPSYSTEMTIME是指向SYSTEMTIME结构的指针。您不初始化指针,所以它指向风景中的某个地方,因此访问冲突/段错误。

为了使代码正常工作,必须确保指针指向有效的SYSTEMTIME结构。按照MSDN docs,Microsoft明确警告您,为指针传递NULL将导致访问冲突。

关于c++ - 调用GetSystemTime()函数时出现段错误(Windows),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17979399/

10-09 21:31