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

Code source sans les directives #ifdef

7 réponses
Avatar
Tof
Bonjour,

J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entour=E9es par des #ifdef?

Bien s=FBr, certains compilateurs permettent de g=E9n=E9rer le code apr=E8s
la pr=E9compilation, mais ce n'est pas tout =E0 fait ce que je cherche =E0
faire.

Merci d'avance.

7 réponses

Avatar
Pascal Bourguignon
"Tof" writes:
J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entourées par des #ifdef?


cpp (autrement dit, gcc -E)


Bien sûr, certains compilateurs permettent de générer le code après
la précompilation, mais ce n'est pas tout à fait ce que je cherche à
faire.


Que cherches tu à faire?

--
__Pascal Bourguignon__ http://www.informatimago.com/

HEALTH WARNING: Care should be taken when lifting this product,
since its mass, and thus its weight, is dependent on its velocity
relative to the user.

Avatar
Tof

"Tof" writes:
J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entourées par des #ifdef?


cpp (autrement dit, gcc -E)


Bien sûr, certains compilateurs permettent de générer le code apr ès
la précompilation, mais ce n'est pas tout à fait ce que je cherche à
faire.


Que cherches tu à faire?


Je veux pouvoir "dépolluer" mes sources de toutes les options de
compilation
du type DEBUG et autres... L'idée est de rendre spécifique un code
source
générique.


Avatar
Tof

"Tof" writes:
J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entourées par des #ifdef?


cpp (autrement dit, gcc -E)


Bien sûr, certains compilateurs permettent de générer le code apr ès
la précompilation, mais ce n'est pas tout à fait ce que je cherche à
faire.


Que cherches tu à faire?


Je veux pouvoir "dépolluer" mes sources de toutes les options de
compilation
du type DEBUG et autres... L'idée est de rendre spécifique un code
source
générique.


Avatar
Eric Levenez
Le 22/11/06 17:42, dans
, « Tof »
a écrit :

J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entourées par des #ifdef?


Sous unix (System V) il y avait la commande undef (ou undefine) qui prenait
un source et enlevait les ifdef passés en argument (et laissait les autres
intacts). Mais cela fait un bon moment que je n'ai pas vu cette commande. Je
n'ai pas vu l'équivalent dans le monde GNU.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Pascal Bourguignon
"Tof" writes:


"Tof" writes:
J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entourées par des #ifdef?


cpp (autrement dit, gcc -E)


Bien sûr, certains compilateurs permettent de générer le code après
la précompilation, mais ce n'est pas tout à fait ce que je cherche à
faire.


Que cherches tu à faire?


Je veux pouvoir "dépolluer" mes sources de toutes les options de
compilation
du type DEBUG et autres... L'idée est de rendre spécifique un code
source
générique.


cpp ne saura pas faire, car tu ne veux evaluer que les #ifdef
concernant un ensemble limité de variables.

Alors, il faudrait faire un utilitaire spécifique, qui sache analyser
lexicalement les sources C et analyser le minimum pour extraire les
branches voulues.


--
__Pascal Bourguignon__ http://www.informatimago.com/
Until real software engineering is developed, the next best practice
is to develop with a dynamic system that has extreme late binding in
all aspects. The first system to really do this in an important way
is Lisp. -- Alan Kay



Avatar
Tof
Merci pour vos réponses.

J'ai trouvé des sources en C sur un forum (
http://www.guilde.asso.fr/lurker/message/20050721.072701.421bde84.fr.html
) qui semblent faire ce que je veux.

Je ne les ai pas encore compilés mais je vais voir ça.

Merci encore.
Avatar
espie
In article ,
Tof wrote:
Bonjour,

J'aimerais savoir s'il existe un outil ou un script permettant de
retirer d'un code source les lignes qui sont entourées par des #ifdef?

Bien sûr, certains compilateurs permettent de générer le code après
la précompilation, mais ce n'est pas tout à fait ce que je cherche à
faire.


Ca existe au moins sur les systemes BSD, ca s'appelle unifdef,
et c'est effectivement tres utile parfois.