gpt4 book ai didi

c++ - 调用 EnterCriticalSection 时出错

转载 作者:行者123 更新时间:2023-11-28 02:41:07 25 4
gpt4 key购买 nike

我正在尝试在 Eclipse IDE 和 Debug模式下的 Windows 7 操作系统上创建邮箱。我正在尝试使用 Eclipse 在 Windows 中创建类似邮箱的 RTOS(实时操作系统)。

到目前为止,我的邮箱代码是这样的:

RTX_Mailbox RTX_CreateMailbox (unsigned long nSlotSize, unsigned long nSlots, char* szName)
{
::EnterCriticalSection (&csMailboxLock);
CMailBox* pNewMailbox = new CMailBox (nSlotSize, szName);
aMailBoxes.push_back (pNewMailbox);
RTX_Mailbox mailBox = ((unsigned int)aMailBoxes.size ()) - 1;
::LeaveCriticalSection (&csMailboxLock);
return mailBox;
}

我的应用程序在运行时一遇到::EnterCriticalSection(&csMailboxLock); 就一直崩溃

它返回此错误消息(在所附图片中突出显示):

enter image description here

文本中的错误消息:ntdll!TpCallbackMayRunLong() 在 0x77d78e19 没有可用的源

如果需要更多详细信息,请告诉我...

最佳答案

所以如果其他人遇到同样的问题,我确实找到了解决方案。

事实证明,您需要在使用临界区之前对其进行初始化。所以下面修复了它:

InitializeCriticalSection(&csMailboxLock);

这是帮助我的链接: https://sites.google.com/site/jeff00coder00seattle/home/coding/cpp-coding/c-win32-critical-section-example

关于c++ - 调用 EnterCriticalSection 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969876/

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