c++ 中 MFC 函数的替代方案?

Posted

技术标签:

【中文标题】c++ 中 MFC 函数的替代方案?【英文标题】:Alternative for MFC functions in c++? 【发布时间】:2012-09-17 16:24:31 【问题描述】:

C++ 中 MFC AfxIsValidAddress 的替代方案?

【问题讨论】:

看看这个thetweaker.wordpress.com/2011/01/31/… 我假设您想在 Windows 平台上的非 MFC 应用程序中使用等效的 AfxIsValidAddress。 【参考方案1】:

那个函数实际上并没有按照它说的那样做......

它说它检查内存范围以查看它是否映射到进程的空间地址。但实际上,在大多数版本的库中,它只是检查 NULL 值。

理由似乎是在旧版本的 Windows 中,它依赖于IsBadReadPtr() 和朋友。但是这些功能完全过时了,不应该在较新的代码中使用(根据 MSDN),因此行为发生了变化。

也就是说,如果您想真正检查内存范围,最好的选择是VirtualQuery()。

【讨论】:

More info 为什么不应该使用 IsBaXXXPtr。 @user786653:这可能是没有 SEH 的 16 位时代的残余。我没有比链接的 MSDN 中的更多详细信息。可能它与多任务处理有关:依赖该功能很容易导致竞争条件。如果你在这些情况下无论如何都必须使用 SEH,那么这个函数就没有必要了。

以上是关于c++ 中 MFC 函数的替代方案?的主要内容,如果未能解决你的问题,请参考以下文章

perror() 的 C++ 替代方案

c++ 中的 np.gradient 替代方案

C++ 中的 compute_face_descriptor() 替代方案

C# 用于 UI,c++ 用于库

如何在 HTML JavaScript 中调用 mfc C++ 函数以及如何在 mfc C++ 中调用 JavaScript 函数? [关闭]

对的任何替代方案?