c++断言调试宏

复制代码
/* 
  MSVC调试有效

   __debugbreak(),调试中断
   __FILE__,文件路径

   __LINE__,行号

*/

#define ASSERT(x) if(!(x)) __debugbreak();
#define GLCall(x) GLClearError();\
       x;\
       ASSERT(GLLogCall(#x,__FILE__,__LINE__))


// 清除所有错误
static void GLClearError()
{
    while (glGetError() != GL_NO_ERROR);
}

static bool GLLogCall(const char* function, const char* file, int line)
{
    while (GLenum error = glGetError())
    {
        std::cout << "[OpenGL Error] (" << error << "): "
            << function << " "
            << file << ":"
            << line << std::endl;
        return false;
    }
    return true;
}


GLCall(glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, nullptr));
复制代码

 

posted @   冂冋冏囧  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示