#ifdef DEBUG # define dev_dbg_f(dev, fmt, args...) \
dev_printk_f(KERN_DEBUG, dev, fmt, ## args) # define dev_dbg_f_limit(dev, fmt, args...) do { \ if (net_ratelimit()) \
dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
} while (0) # define dev_dbg_f_cond(dev, cond, fmt, args...) ({ \ bool __cond = !!(cond); \ if (unlikely(__cond)) \
dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
}) #else # define dev_dbg_f(dev, fmt, args...) do { (void)(dev); } while (0) # define dev_dbg_f_limit(dev, fmt, args...) do { (void)(dev); } while (0) # define dev_dbg_f_cond(dev, cond, fmt, args...) do { (void)(dev); } while (0) #endif/* DEBUG */
#ifdef DEBUG # define ZD_ASSERT(x) \ do { \ if (unlikely(!(x))) { \
pr_debug("%s:%d ASSERT %s VIOLATED!\n", \
__FILE__, __LINE__, __stringify(x)); \
dump_stack(); \
} \
} while (0) #else # define ZD_ASSERT(x) do { } while (0) #endif
#ifdef DEBUG # define ZD_MEMCLEAR(pointer, size) memset((pointer), 0xff, (size)) #else # define ZD_MEMCLEAR(pointer, size) do { } while (0) #endif
#endif/* _ZD_DEF_H */
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.15Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.