c++ - Replacement-List 宏函数 [问题]
问题描述
替换列表宏功能
我正在尝试创建一个快速宏,它允许我简单地获取一个类指针并根据类指针名称命名设置模块,如下所示:
#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"
推荐阅读
- c# - 有没有办法在启动期间动态确定 Azure webjob 中触发的队列的数量和名称?
- sql-server - 我想加入两个表并将两行显示为一行
- javascript - 检查文本框jquery中是否存在文本
- cross-validation - 使用交叉验证进行模型调整
- c# - 当它是不同的字符串值 C#(Unity) 时,yIndex 不会递增
- python - 如何创建 bot Telegram 以发送命令 RaspberryPi
- javascript - 敲除订阅执行多次
- mule-studio - 如何在 Mulesoft 中进行批量排序
- javascript - 整个网站的 fs.createWriteStream 替代品?
- django - apache2 libapache2-mod-wsgi-py3 django