ZLMediaKit/3rdpart/assert.h

35 lines
951 B
C++
Raw Permalink Normal View History

2023-12-09 16:23:51 +08:00
/*
* Copyright (c) 2016-present The ZLMediaKit project authors. All Rights Reserved.
*
2023-12-09 16:23:51 +08:00
* This file is part of ZLMediaKit(https://github.com/ZLMediaKit/ZLMediaKit).
*
2023-12-09 16:23:51 +08:00
* Use of this source code is governed by MIT-like license that can be found in the
* LICENSE file in the root of the source tree. All contributing project authors
* may be found in the AUTHORS file in the root of the source tree.
*/
#ifndef ZLMEDIAKIT_ASSERT_H
#define ZLMEDIAKIT_ASSERT_H
#include <stdio.h>
#ifndef NDEBUG
#ifdef assert
#undef assert
#endif//assert
2021-06-28 20:12:07 +08:00
#ifdef __cplusplus
extern "C" {
#endif
2021-10-16 16:24:40 +08:00
extern void Assert_Throw(int failed, const char *exp, const char *func, const char *file, int line, const char *str);
2021-06-28 20:12:07 +08:00
#ifdef __cplusplus
}
#endif
2021-10-16 16:24:40 +08:00
#define assert(exp) Assert_Throw(!(exp), #exp, __FUNCTION__, __FILE__, __LINE__, NULL)
#else
#define assert(e) ((void)0)
#endif//NDEBUG
#endif //ZLMEDIAKIT_ASSERT_H