Pour désactiver complètement une sortie de débogage dans c-source je définis habituellement les éléments suivants SIMPLE macro # 1problèmes de concaténation avec débogage impression macro sous gcc
#define dprintf(args)
Pour activer une sortie de débogage, je définis macro # 2 alternativement
#define dprintf(args) printk##args
L'utilisation dans la source ressemble à:
dprintf(("Irqs:%lu\n",irqs));
Un préprocesseur devrait créer la ligne suivante si j'utilise macro # 2
printk("Irqs:%lu\n",irqs);
Sous Windows Visual C++, il n'y a pas de problème.
En utilisant la version gcc 4.4.1 (Ubuntu 4.4.1-4ubuntu9) sous NetBeans IDE 6.8, je reçu le message d'erreur suivant:
"printk" and "(" does not give a valid preprocessing token
J'ai essayé les éléments suivants sous Linux
#define dprintk(args...) printk(args)
Cela fonctionne uniquement avec dprintf("Irqs:%lu\n",irqs);
Visual C++ ne sait pas cependant args...
Je dois compiler le code source sur Windows et la plate-forme Linux (386) alternativement.
Est-ce que quelqu'un a une idée?