首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Akagi201的Linux异常捕捉函数,可以支持驱动和应用程序

2012-10-21 
Akagi201的Linux错误捕捉函数,可以支持驱动和应用程序/** @file mydebug.h* @note HangZhou Hikvision Dig

Akagi201的Linux错误捕捉函数,可以支持驱动和应用程序

      /** @file mydebug.h  * @note HangZhou Hikvision Digital Technology Co., Ltd. All Right Reserved.  * @brief    我的错误捕捉函数  *   * @author   liuboyf1  * @date     2012-10-9  * @version  V1.0.0  *   * @note ///Description here   * @note History:      * @note     <author>   <time>    <version >   <desc>  * @note    * @warning    */// 我的打印宏定义#ifdef DEBUG    #ifdef __KERNEL__        #define DBG_PRINT_FILE_LINE(void)                                    \        do                                                                   \        {                                                                    \            printk(KERN_EMERG "\n%s:%s():%d:", __FILE__, __func__, __LINE__);\        }while (0)        #define DBG_PRINT(fmt, args...)                                      \        do                                                                   \        {                                                                    \            DEB_PRINT_FILE_LINE(void);                                       \            printk(KERN_EMERG fmt, ##args);                                  \        }while (0)                #define ERR_PRINT(fmt, args...)                                      \        do                                                                   \        {                                                                    \            printk(KERN_EMERG fmt, ##args);                                  \        }while (0)    #else        #define DBG_PRINT_FILE_LINE(void)                                    \        do                                                                   \        {                                                                    \            fprintf(stderr, "\n%s:%s():%d:", __FILE__, __func__, __LINE__);  \        }while (0)        #define DBG_PRINT(fmt, args...)                                      \        do                                                                   \        {                                                                    \            DBG_PRINT_FILE_LINE(void); fprintf(stderr, fmt, ##args);         \        }while (0)        #define ERR_PRINT(str)                                               \        do                                                                   \        {                                                                    \            DBG_PRINT_FILE_LINE(void);                                       \            perror(str);                                                     \        }while (0)    #endif#else    #define DBG_PRINT_FILE_LINE(void) do{}while (0)    #define DBG_PRINT(fmt, args...) do{}while (0)    #define ERR_PRINT(fmt, args...) do{}while (0)#endif

热点排行