gpt4 book ai didi

c++ - 在 mfc 应用程序中使用 win32 dll 是否安全?

转载 作者:行者123 更新时间:2023-11-28 00:41:34 24 4
gpt4 key购买 nike

我有一个包含 Windows.h 并使用 Windows API 的 win32 DLL。我想将此 DLL 加载到使用 MFC 的应用程序中。

这会导致任何内存泄漏或奇怪的行为吗?还是安全?

最佳答案

MFC 是在 Windows API 之上实现的。 MFC 应用程序可以不受任何限制地调用 Windows API。但是,不可能(也不需要)#include <windows.h>在包括 afxwin.h 之前.如果你这样做,afxv_w32.h将出错并显示以下消息:

WINDOWS.H already included. MFC apps must not #include <windows.h>

这背后的原因不是兼容性问题。这是因为 MFC 必须设置几个预处理器符号来控制编译过程的某些方面。必须在包含 windows.h 之前定义这些符号(afxv_w32.h 最终确实包括在内)。

同样,链接到使用 Windows API 实现的 .dll 也没有问题。事实上,默认的 MFC 应用程序已经链接到许多 Windows API 库,例如 kernel32.dlluser32.dll .如果声明 .dll 导出的头文件包含 windows.h您需要确保它包含在 afxwin.h 之后.否则预处理器将出错并显示上面引用的消息。

关于c++ - 在 mfc 应用程序中使用 win32 dll 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620253/

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