1、sigar_ptql.h没有放在include,需要去源码找,但是实际dll中导出了ptql相关的函数,所以拿到头文件也可以用;
2、不能单独#include "sigar_ptql.h",因为里边用到sigar.h的内容但是没包含头文件,所以自己的代码中,要先包含sigar.h,再包含sigar_ptql.h;
3、vs中,定义cpp,会出现找不到sigar相关的符号,编译失败的情况,因为sigar.h导出规范是__stdcall,而没有定义import,解决方法,改为.c后缀,默认使用c的调用规范;另外应该可以重新定义SIGAR_DECLARE,指定导入规范,但这个方法我没测试过,不确定是不是可行;
4、编译好的sigar-1.6.4,windows x86版本按头文件定义,使用__stdcall导出函数符号,但是x64版本使用的默认__cdecl导出;我也是在测试使用luajit的ffi调用sigar时,发现的这个问题,luajit使用x64位时,会报找不到符号,其实时要在ffi.cdef中,声明函数时,指定__stdcall调用规范;
持续更新中。。。