替换列表宏函数 [问题]
Replacement-List Macro Function [Question]
替换列表宏函数
我正在尝试创建一个快速宏,它将允许我简单地获取一个 class 指针并根据 class 指针名称命名设置模块,如下所示:
#define dll_import(...) dll_module->__VA_ARGS__= \
GetModuleHandleW(L#__VA_ARGS__.dll) // Note: This is where I'm confused.
当我尝试这样做时,它显然不会起作用,因为我不能将 ".dll" 添加到参数中,因为它在字符串的参数包含之外:
只是我参考资料中的一个视觉示例,以提供帮助。忽略表达式捕获错误。
目前我只是想看看是否有人知道解决这个问题的方法,感谢所有帮助。
您似乎只是想简单地将字符串连接在一起。如果是这种情况,解决方案应该只是确保 .dll
部分也是字符串文字:
#define dll_import(...) dll_module->__VA_ARGS__= \
GetModuleHandleW(L#__VA_ARGS__ L".dll")
这会将 dll_import(verified_module)
的输入转换为:
dll_module->verified_module = GetModuleHandleW(L"verified_module" L".dll")
哪个 C++ 将视为两个后续字符串文字并将其连接在一起,L"verified_module.dll"
替换列表宏函数
我正在尝试创建一个快速宏,它将允许我简单地获取一个 class 指针并根据 class 指针名称命名设置模块,如下所示:
#define dll_import(...) dll_module->__VA_ARGS__= \
GetModuleHandleW(L#__VA_ARGS__.dll) // Note: This is where I'm confused.
当我尝试这样做时,它显然不会起作用,因为我不能将 ".dll" 添加到参数中,因为它在字符串的参数包含之外:
目前我只是想看看是否有人知道解决这个问题的方法,感谢所有帮助。
您似乎只是想简单地将字符串连接在一起。如果是这种情况,解决方案应该只是确保 .dll
部分也是字符串文字:
#define dll_import(...) dll_module->__VA_ARGS__= \
GetModuleHandleW(L#__VA_ARGS__ L".dll")
这会将 dll_import(verified_module)
的输入转换为:
dll_module->verified_module = GetModuleHandleW(L"verified_module" L".dll")
哪个 C++ 将视为两个后续字符串文字并将其连接在一起,L"verified_module.dll"