如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);
...
标签:NvAPI,USE,undef,C++,API,NVIDIA,fun,include
From: https://www.cnblogs.com/zzz3265/p/17064241.html