繁体   English   中英

如何使 WndProc 内联?

[英]How to make WndProc inline?

是否有可能,如果有,如何使 WndProc 内联?

也就是说,我想在 WinMain 中处理 Windows 消息 WM_...,以避免看似不必要的函数调用。

谢谢你。

您不能内联窗口过程。 这是设计使然。

在注册窗口类时,您可以很容易地看到架构限制。 这是通过调用RegisterClassExW并传递WNDCLASSEXW结构来完成的。 该结构需要一个有效的lpfnWndProc 您不能获取内联函数的地址。

还有其他方面要求窗口过程是一个实际的函数。 例如,存储窗口过程地址用作定制点并允许子类化控件,例如调整标准控件的行为。

您无法避免函数调用。 如果要限制变量的范围,可以将 lambda 表达式的结果分配给lpfnWndProc成员。 Visual Studio 确保合成正确的函数签名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM