Bonjour,
Existe-t-il une méthode pour exclure de la sortie préprocessseur
sélectivement certains #include ?
Il s'agit bien entendu des fichiers de bibliothèque standard, dans
l'hypothèse où ils ne posent pas problème eux-mêmes.
Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland,
Visual, GNU) ...
Ce que je peux faire, puisqu'il s'agit de générer ce fichier pour
consultation, c'est juste de commenter ces include le temps de la sortie
précompilateur.
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc Boyer
Pierre Maurette wrote:
Bonjour, Existe-t-il une méthode pour exclure de la sortie préprocessseur sélectivement certains #include ? Il s'agit bien entendu des fichiers de bibliothèque standard, dans l'hypothèse où ils ne posent pas problème eux-mêmes. Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland, Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande. Avec mon gcc: % gcc -E -D_STDIO_H toto.c n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le voit vide).
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Pierre Maurette wrote:
Bonjour,
Existe-t-il une méthode pour exclure de la sortie préprocessseur
sélectivement certains #include ?
Il s'agit bien entendu des fichiers de bibliothèque standard, dans
l'hypothèse où ils ne posent pas problème eux-mêmes.
Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland,
Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre
la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande.
Avec mon gcc:
% gcc -E -D_STDIO_H toto.c
n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le
voit vide).
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
Bonjour, Existe-t-il une méthode pour exclure de la sortie préprocessseur sélectivement certains #include ? Il s'agit bien entendu des fichiers de bibliothèque standard, dans l'hypothèse où ils ne posent pas problème eux-mêmes. Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland, Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande. Avec mon gcc: % gcc -E -D_STDIO_H toto.c n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le voit vide).
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Pierre Maurette
"Marc Boyer" a écrit ...
Pierre Maurette wrote:
Bonjour, Existe-t-il une méthode pour exclure de la sortie préprocessseur sélectivement certains #include ? Il s'agit bien entendu des fichiers de bibliothèque standard, dans l'hypothèse où ils ne posent pas problème eux-mêmes. Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland, Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande. Avec mon gcc: % gcc -E -D_STDIO_H toto.c n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le voit vide). Je te remercie.
J'avais dans la même optique envisagé une macro genre NO_LIST_H ou PRE_PRO, mais ça rajoute encore des conditionnels dans le source, autant faire comme tu proposes, ou alors commenter en bloc les include standard (la zone avant le #pragma hdrstop, par exemple). Ça fait partie des solutions qui conduisent à ne pas inclure, en ce sens que les macros de stdio.h ne seront pas définies. C'est peut-être dangereux, si le but est de vérifier le développement de macros par exemple. Bon, d'un autre coté, avec un éditeur correct, ce n'est pas difficile de naviguer dans le fichier complet. Je voulais surtout savoir si j'avais bien lu les docs. C'est marrant, les possibilités du vieux MASM (ou TASM) quant aux listings sont bien supérieures à celle de C. Bon, il faut dire que 99% de la valeur ajoutée est dans le préprocesseur, et que des sorties passe 1 seront très souvent utiles, ce qui n'est pas le cas en C. Pierre
"Marc Boyer" <Marc.Boyer@enseeiht.yahoo.fr.invalid> a écrit ...
Pierre Maurette wrote:
Bonjour,
Existe-t-il une méthode pour exclure de la sortie préprocessseur
sélectivement certains #include ?
Il s'agit bien entendu des fichiers de bibliothèque standard, dans
l'hypothèse où ils ne posent pas problème eux-mêmes.
Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland,
Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre
la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande.
Avec mon gcc:
% gcc -E -D_STDIO_H toto.c
n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le
voit vide).
Je te remercie.
J'avais dans la même optique envisagé une macro genre NO_LIST_H ou PRE_PRO,
mais ça rajoute encore des conditionnels dans le source, autant faire comme
tu proposes, ou alors commenter en bloc les include standard (la zone avant
le #pragma hdrstop, par exemple).
Ça fait partie des solutions qui conduisent à ne pas inclure, en ce sens que
les macros de stdio.h ne seront pas définies. C'est peut-être dangereux, si
le but est de vérifier le développement de macros par exemple.
Bon, d'un autre coté, avec un éditeur correct, ce n'est pas difficile de
naviguer dans le fichier complet.
Je voulais surtout savoir si j'avais bien lu les docs.
C'est marrant, les possibilités du vieux MASM (ou TASM) quant aux listings
sont bien supérieures à celle de C. Bon, il faut dire que 99% de la valeur
ajoutée est dans le préprocesseur, et que des sorties passe 1 seront très
souvent utiles, ce qui n'est pas le cas en C.
Pierre
Bonjour, Existe-t-il une méthode pour exclure de la sortie préprocessseur sélectivement certains #include ? Il s'agit bien entendu des fichiers de bibliothèque standard, dans l'hypothèse où ils ne posent pas problème eux-mêmes. Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland, Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande. Avec mon gcc: % gcc -E -D_STDIO_H toto.c n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le voit vide). Je te remercie.
J'avais dans la même optique envisagé une macro genre NO_LIST_H ou PRE_PRO, mais ça rajoute encore des conditionnels dans le source, autant faire comme tu proposes, ou alors commenter en bloc les include standard (la zone avant le #pragma hdrstop, par exemple). Ça fait partie des solutions qui conduisent à ne pas inclure, en ce sens que les macros de stdio.h ne seront pas définies. C'est peut-être dangereux, si le but est de vérifier le développement de macros par exemple. Bon, d'un autre coté, avec un éditeur correct, ce n'est pas difficile de naviguer dans le fichier complet. Je voulais surtout savoir si j'avais bien lu les docs. C'est marrant, les possibilités du vieux MASM (ou TASM) quant aux listings sont bien supérieures à celle de C. Bon, il faut dire que 99% de la valeur ajoutée est dans le préprocesseur, et que des sorties passe 1 seront très souvent utiles, ce qui n'est pas le cas en C. Pierre
Marc Boyer
Pierre Maurette wrote:
"Marc Boyer" a écrit ...
Pierre Maurette wrote:
Bonjour, Existe-t-il une méthode pour exclure de la sortie préprocessseur sélectivement certains #include ? Il s'agit bien entendu des fichiers de bibliothèque standard, dans l'hypothèse où ils ne posent pas problème eux-mêmes. Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland, Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande. Avec mon gcc: % gcc -E -D_STDIO_H toto.c n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le voit vide). Je te remercie.
J'avais dans la même optique envisagé une macro genre NO_LIST_H ou PRE_PRO, mais ça rajoute encore des conditionnels dans le source, autant faire comme tu proposes, ou alors commenter en bloc les include standard (la zone avant le #pragma hdrstop, par exemple).
Je me méfie des solutions de debug qui viennent modifier le code. Si on peut faire autrement, je trouve ça mieux.
Ça fait partie des solutions qui conduisent à ne pas inclure, en ce sens que les macros de stdio.h ne seront pas définies. C'est peut-être dangereux, si le but est de vérifier le développement de macros par exemple. Bon, d'un autre coté, avec un éditeur correct, ce n'est pas difficile de naviguer dans le fichier complet.
Vouis, ou un petit coup de sed/awk/perl peut faire l'affaire.
Je voulais surtout savoir si j'avais bien lu les docs.
J'ai pas trouvé mieux en tout cas.
C'est marrant, les possibilités du vieux MASM (ou TASM) quant aux listings sont bien supérieures à celle de C. Bon, il faut dire que 99% de la valeur ajoutée est dans le préprocesseur, et que des sorties passe 1 seront très souvent utiles, ce qui n'est pas le cas en C.
On pourrait dire que le préprocesseur, c'est ce qu'il y a de pire dans le C ;-)
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Pierre Maurette wrote:
"Marc Boyer" <Marc.Boyer@enseeiht.yahoo.fr.invalid> a écrit ...
Pierre Maurette wrote:
Bonjour,
Existe-t-il une méthode pour exclure de la sortie préprocessseur
sélectivement certains #include ?
Il s'agit bien entendu des fichiers de bibliothèque standard, dans
l'hypothèse où ils ne posent pas problème eux-mêmes.
Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland,
Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre
la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande.
Avec mon gcc:
% gcc -E -D_STDIO_H toto.c
n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le
voit vide).
Je te remercie.
J'avais dans la même optique envisagé une macro genre NO_LIST_H ou PRE_PRO,
mais ça rajoute encore des conditionnels dans le source, autant faire comme
tu proposes, ou alors commenter en bloc les include standard (la zone avant
le #pragma hdrstop, par exemple).
Je me méfie des solutions de debug qui viennent modifier
le code. Si on peut faire autrement, je trouve ça mieux.
Ça fait partie des solutions qui conduisent à ne pas inclure, en ce sens que
les macros de stdio.h ne seront pas définies. C'est peut-être dangereux, si
le but est de vérifier le développement de macros par exemple.
Bon, d'un autre coté, avec un éditeur correct, ce n'est pas difficile de
naviguer dans le fichier complet.
Vouis, ou un petit coup de sed/awk/perl peut faire l'affaire.
Je voulais surtout savoir si j'avais bien lu les docs.
J'ai pas trouvé mieux en tout cas.
C'est marrant, les possibilités du vieux MASM (ou TASM) quant aux listings
sont bien supérieures à celle de C. Bon, il faut dire que 99% de la valeur
ajoutée est dans le préprocesseur, et que des sorties passe 1 seront très
souvent utiles, ce qui n'est pas le cas en C.
On pourrait dire que le préprocesseur, c'est ce qu'il y a de pire
dans le C ;-)
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
Bonjour, Existe-t-il une méthode pour exclure de la sortie préprocessseur sélectivement certains #include ? Il s'agit bien entendu des fichiers de bibliothèque standard, dans l'hypothèse où ils ne posent pas problème eux-mêmes. Pas moyen de trouver le truc. Même une #pragma conviendrait (Borland, Visual, GNU) ...
Les fichier d'en-tête sont généralement protégés contre la double inclusion par un #ifndef _FICHIER_H.
Tu peux définir ces macros sur la ligne de commande. Avec mon gcc: % gcc -E -D_STDIO_H toto.c n'incluera pas stdio.h (enfin, ça l'inclut, mais ça le voit vide). Je te remercie.
J'avais dans la même optique envisagé une macro genre NO_LIST_H ou PRE_PRO, mais ça rajoute encore des conditionnels dans le source, autant faire comme tu proposes, ou alors commenter en bloc les include standard (la zone avant le #pragma hdrstop, par exemple).
Je me méfie des solutions de debug qui viennent modifier le code. Si on peut faire autrement, je trouve ça mieux.
Ça fait partie des solutions qui conduisent à ne pas inclure, en ce sens que les macros de stdio.h ne seront pas définies. C'est peut-être dangereux, si le but est de vérifier le développement de macros par exemple. Bon, d'un autre coté, avec un éditeur correct, ce n'est pas difficile de naviguer dans le fichier complet.
Vouis, ou un petit coup de sed/awk/perl peut faire l'affaire.
Je voulais surtout savoir si j'avais bien lu les docs.
J'ai pas trouvé mieux en tout cas.
C'est marrant, les possibilités du vieux MASM (ou TASM) quant aux listings sont bien supérieures à celle de C. Bon, il faut dire que 99% de la valeur ajoutée est dans le préprocesseur, et que des sorties passe 1 seront très souvent utiles, ce qui n'est pas le cas en C.
On pourrait dire que le préprocesseur, c'est ce qu'il y a de pire dans le C ;-)
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(