通过定义宏来控制是否开启Debug.代码如下:
#undef PDEBUG /* undef it, just in case */ #ifdef SCULL_DEBUG # ifdef __KERNEL__ /* This one if debugging is on, and kernel space */ # define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args) # else /* This one for user space */ # define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args) # endif #else # define PDEBUG(fmt, args...) /* not debugging: nothing */ #endif #undef PDEBUGG #define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */
然后可以在Makefile里面增加如下代码:
#DEBUG = y # Add your debugging flag (or not) to CFLAGS ifeq ($(DEBUG),y) DEBFLAGS = -O -g -DSCULL_DEBUG # "-O" is needed to expand inlines else DEBFLAGS = -O2 endif CFLAGS += $(DEBFLAGS)
PS:
CFLAGS中-D*表示:#define *
如:-DSCULL_DEBUG等价于#define SCULL_DEBUG
-Wall 表示打开所有编译告警信息
-O2表示优化级别
-Wl,-rpath,./为传递给连接器的选项,表示程序执行时的库加载路径
文章的脚注信息由WordPress的wp-posturl插件自动生成