Чтобы полностью отключить отладочный вывод в c-source,
Я обычно определяю следующий ПРОСТОЙ макрос # 1
#define dprintf(args)
Чтобы включить отладочный вывод, я определяю макрос # 2 альтернативно
#define dprintf(args) printk##args
Использование в источнике выглядит следующим образом:
dprintf(("Irqs:%lu\n",irqs));
Препроцессор должен создать следующую строку, если я использую макрос # 2
printk("Irqs:%lu\n",irqs);
В Windows Visual C ++ проблем нет.
Использование gcc версии 4.4.1 (Ubuntu 4.4.1-4ubuntu9) в NETBEANS IDE 6.8,
Я получил следующее сообщение об ошибке:
"printk" and "(" does not give a valid preprocessing token
Я попробовал следующее под Linux
#define dprintk(args...) printk(args)
Это работает только с
dprintf("Irqs:%lu\n",irqs);
Visual C ++, однако, не знает args...
Я должен скомпилировать исходный код на Windows
и Linux (386) в качестве альтернативы.
У кого-нибудь есть идея?