C++的宏利用include和undef来重复使用
Posted Yofoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++的宏利用include和undef来重复使用相关的知识,希望对你有一定的参考价值。
如dll导出函数, 需要定义以及QueryInterface, 其中函数有多个, 如果想代码尽量简洁, 只有这个方法
- 定义
#define NVIDIA_API_DEF(_fun) decltype(_fun) * _##_fun = NULL;
#define NVIDIA_API_USE(_fun) NVIDIA_API_DEF(_fun)
#include "../Library/nvapi/nvapi_list.h"
- 获取函数
#undef NVIDIA_API_USE
#define NVIDIA_API_GET(_fun) bRetVal &= NVIDIA_GetApi(_##_fun, #_fun);
#define NVIDIA_API_USE(_fun) NVIDIA_API_GET(_fun)
#include "../Library/nvapi/nvapi_list.h"
- 列表文件宏
NVIDIA_API_USE(NvAPI_EnumPhysicalGPUs);
NVIDIA_API_USE(NvAPI_GPU_GetFullName);
NVIDIA_API_USE(NvAPI_GPU_GetThermalSettings);
NVIDIA_API_USE(NvAPI_GPU_PowerPolicyGetInfo);
NVIDIA_API_USE(NvAPI_GPU_PowerDeviceGetStatus);
...
以上是关于C++的宏利用include和undef来重复使用的主要内容,如果未能解决你的问题,请参考以下文章