J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef,
avec un peu de romarin dedans. Je le fait cuire avec mon gcc qui
marche au gpl, et j'aimerais bien savoir ce qui se passe dedans.
Existe-t-il un truc dans le genre:
#ifdef TRUC_MACHIN
printf("truc is %x\n", machin.truc\n");
#message "TRUC_MACHIN was here"
#endif
qui permette de tracer à la compilation ce qui est (plus ou moins)
généré, sans avoir à jeter un oeil désabusé sur le C intermédiaire ?
J'espère ne pas être le seul à avoir eu cette idée...
tTh.
--
+--------------------------------------------------------------------------+
| si FT déploie du GPON depuis le NRO vers le bas de l'immeuble, l'intérêt |
| d'utiliser le P2P en câblage vertical est anéanti. Et donc pour moi,... |
+----------------------------------------[ Really Cruel Modern World ]-----+
#ifdef TRUC_MACHIN printf("truc is %xn", machin.trucn"); #message "TRUC_MACHIN was here" #endif
Il y a #warning et #error
Oups, désolé, mais hier soir, je n'ai pas vraiment pensé à greper "warning" pour afficher un message :)
Depuis C99 je crois.
Oké, merci. Bonne journée à tous les coredumpers.
-- { SIGOGNE, "OUIIIN" }, /* Gives the process a child */ --{ f.m.b.l revisite la command kill }--
Laurent Deniau
Harpo wrote:
Thierry B. wrote:
Bonsoir.
J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef, avec un peu de romarin dedans. Je le fait cuire avec mon gcc qui marche au gpl, et j'aimerais bien savoir ce qui se passe dedans.
Gli spaghetti si mangiano con la sola forchetta.
Existe-t-il un truc dans le genre:
#ifdef TRUC_MACHIN printf("truc is %xn", machin.trucn"); #message "TRUC_MACHIN was here" #endif
Il y a #warning et #error Depuis C99 je crois.
#error depuis C89. Pas de #warning a l'horizon.
a+, ld.
J'espère ne pas être le seul à avoir eu cette idée...
Tu as raison d'espérer.
un #warning et un #message seraient effectivement les bienvenus!
a+, ld.
Harpo wrote:
Thierry B. wrote:
Bonsoir.
J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef,
avec un peu de romarin dedans. Je le fait cuire avec mon gcc qui
marche au gpl, et j'aimerais bien savoir ce qui se passe dedans.
Gli spaghetti si mangiano con la sola forchetta.
Existe-t-il un truc dans le genre:
#ifdef TRUC_MACHIN
printf("truc is %xn", machin.trucn");
#message "TRUC_MACHIN was here"
#endif
Il y a #warning et #error
Depuis C99 je crois.
#error depuis C89. Pas de #warning a l'horizon.
a+, ld.
J'espère ne pas être le seul à avoir eu cette idée...
Tu as raison d'espérer.
un #warning et un #message seraient effectivement les bienvenus!
J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef, avec un peu de romarin dedans. Je le fait cuire avec mon gcc qui marche au gpl, et j'aimerais bien savoir ce qui se passe dedans.
Gli spaghetti si mangiano con la sola forchetta.
Existe-t-il un truc dans le genre:
#ifdef TRUC_MACHIN printf("truc is %xn", machin.trucn"); #message "TRUC_MACHIN was here" #endif
Il y a #warning et #error Depuis C99 je crois.
#error depuis C89. Pas de #warning a l'horizon.
a+, ld.
J'espère ne pas être le seul à avoir eu cette idée...
Tu as raison d'espérer.
un #warning et un #message seraient effectivement les bienvenus!
a+, ld.
Antoine Leca
En news:, Thierry B. va escriure:
J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef, <couic>
Existe-t-il un truc dans le genre: <couic>
qui permette de tracer à la compilation ce qui est (plus ou moins) généré, sans avoir à jeter un oeil désabusé sur le C intermédiaire ?
Si tu ne veux pas regarder le source (même épuré), effectivement il faut utiliser #error, #warning si cela existe, voire #include en remplacement, avec $(CC) -M cela marche aussi même si le message d'erreur est inadéquat ;-)
Si regarder la sortie de cpp avec des trucs genre $(CC) -E >$$$.i est pénible (ce que je peux comprendre), tu peux aussi regarder unifdef, un utilitaire *BSD qui dépatouille bien les plats de nouilles. Et plus généralement les "beautifiers" qui savent interpréter les #ifdef. Attention, on utilise plus cpp (ou plus le même, ou plus les mêmes options), donc tu peux avoir des erreurs subtiles qui se glissent, surtout si tu as des fichiers inclus qui proviennent de plusieurs endroits...
Antoine
En news:455tl4-jtq.ln1@prout.stex, Thierry B. va escriure:
J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef,
<couic>
Existe-t-il un truc dans le genre:
<couic>
qui permette de tracer à la compilation ce qui est (plus ou moins)
généré, sans avoir à jeter un oeil désabusé sur le C intermédiaire ?
Si tu ne veux pas regarder le source (même épuré), effectivement il faut
utiliser #error, #warning si cela existe, voire #include en remplacement,
avec $(CC) -M cela marche aussi même si le message d'erreur est inadéquat
;-)
Si regarder la sortie de cpp avec des trucs genre $(CC) -E >$$$.i est
pénible (ce que je peux comprendre), tu peux aussi regarder unifdef, un
utilitaire *BSD qui dépatouille bien les plats de nouilles. Et plus
généralement les "beautifiers" qui savent interpréter les #ifdef.
Attention, on utilise plus cpp (ou plus le même, ou plus les mêmes options),
donc tu peux avoir des erreurs subtiles qui se glissent, surtout si tu as
des fichiers inclus qui proviennent de plusieurs endroits...
J'ai sous les yeux un superbe plat de nouille à la sauce #ifdef, <couic>
Existe-t-il un truc dans le genre: <couic>
qui permette de tracer à la compilation ce qui est (plus ou moins) généré, sans avoir à jeter un oeil désabusé sur le C intermédiaire ?
Si tu ne veux pas regarder le source (même épuré), effectivement il faut utiliser #error, #warning si cela existe, voire #include en remplacement, avec $(CC) -M cela marche aussi même si le message d'erreur est inadéquat ;-)
Si regarder la sortie de cpp avec des trucs genre $(CC) -E >$$$.i est pénible (ce que je peux comprendre), tu peux aussi regarder unifdef, un utilitaire *BSD qui dépatouille bien les plats de nouilles. Et plus généralement les "beautifiers" qui savent interpréter les #ifdef. Attention, on utilise plus cpp (ou plus le même, ou plus les mêmes options), donc tu peux avoir des erreurs subtiles qui se glissent, surtout si tu as des fichiers inclus qui proviennent de plusieurs endroits...