#ifndef UNTITLED1_UTILS_H #define UNTITLED1_UTILS_H #define IN_UNIX 0 // 确定当前运行的操作系统(需要通过系统调用获得时间) #if IN_UNIX #include #include double get_time(); #else #include #include "device/Nurbs/bvh.cuh" #include "device/srf_mesh.cuh" double get_time(); #endif /** * 保证释放后的指针指向空。这样一来保证指针不乱指,free的时候不会出错、二来可以判断指针是否已经free * 注意: * 1. 指针是引用传参,因为要把指针本身置空 * 2. 模板函数不支持声明和定义分离的写法 */ template inline void safeCudaFree(T *&p) { if (p != nullptr) { cudaFree(p); p = nullptr; } } template inline void safeFree(T *&p) { if (p != nullptr) { free(p); p = nullptr; } } #endif //UNTITLED1_UTILS_H