【发布时间】:2020-07-22 16:21:58
【问题描述】:
我正在尝试创建一个宏来执行 api 调用。我当前的问题是为调用传递参数。我收到以下错误消息:
标识符 __VA_ARGS__ 只能出现在可变参数宏的替换列表中
#define DO_CALL(api_name)(...) wow64hg::do_call(FNV(#api_name), __VA_ARGS__)
const auto status = DO_CALL(TerminateProcess)(process_handle, 0);
从技术上讲,可以通过使用操作符加载来解决这个问题,但我相信应该有一种方法可以让它像这样保持简单并让它工作。
【问题讨论】: