Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

compilation conditionnelle avec trace

2 réponses
Avatar
marioski
bonjour,

En ins=C3=A9rant =C3=A0 un endroit du code source
#ifdef TRACE
printf(/*quelques retours de valeurs d'une fonction pr=C3=A9c=C3=
=A9dente*/)
#endif
et en compilant,cela va =C3=A9crire les retours de valeurs d'une fonction c=
hoisie et situ=C3=A9e avant l'emplacement de TRACE.
si la compilation conditionnelle se termine bien,c'est qu'avant l'emplaceme=
nt de TRACE,il n'y a pas de bug dans le code source.
si la compilation conditionnelle se termine mal,c'est qu'avant l'emplacemen=
t de TRACE,il y a un bug dans le code source
Bref,en d=C3=A9pla=C3=A7ant l'emplacement de TRACE dans le code source,on p=
eut alors rep=C3=A9rer =C3=A0 quel endroit il y a un bug.
Est-ce bien l=C3=A0 le principe de la compilation conditionnelle?

Si oui:
1)dans le printf,peut-on =C3=A9crire autre chose que les retours de valeurs=
d'une fonction?Quoi?
2)cherche tuto + explicite concernant ce sujet(avec TRACE) sans l'utilisati=
on de Visual Studio(je compile sous Linux avec gcc)

merci de votre aide

2 réponses

Avatar
Pascal J. Bourguignon
marioski writes:
bonjour,
En insérant à un endroit du code source
#ifdef TRACE
printf(/*quelques retours de valeurs d'une fonction préc édente*/)
#endif
et en compilant,cela va écrire les retours de valeurs d'une fonction choisie et située avant l'emplacement de TRACE.
si la compilation conditionnelle se termine bien,c'est qu'avant l'emplace ment de TRACE,il n'y a pas de bug dans le code source.
si la compilation conditionnelle se termine mal,c'est qu'avant l'emplacem ent de TRACE,il y a un bug dans le code source
Bref,en déplaçant l'emplacement de TRACE dans le code source,on peut
alors repérer à quel endroit il y a un bug.

Encore faudrait-il vider les tampons avant de se planter !
Est-ce bien là le principe de la compilation conditionnelle?

Non. Le principe est bien plus général.
Si oui:
1)dans le printf,peut-on écrire autre chose que les retours de valeu rs
d'une fonction?Quoi?

Bien sur, ce que l'on veut !
2)cherche tuto + explicite concernant ce sujet(avec TRACE) sans l'utilisa tion de Visual Studio(je compile sous Linux avec gcc)

Je ne sais pas ce qu'il y a à expliquer de plus…
--
__Pascal J. Bourguignon
http://www.informatimago.com
Avatar
espie
J'ai l'impression que tu es en train d'essayer de transformer en "recette"
un principe tres general sans vraiment comprendre a quoi ca va te servir.
A mon avis, ca va droit dans le mur. Essaie de comprendre comment marche
le preprocesseur, et d'expliquer clairement ce que tu voudrait faire,
ca aura des chances de s'eclairer a un moment ou un autre.