[SOS] Warning.

David Decotigny david.decotigny at free.fr
Mer 22 Déc 15:41:08 CET 2004


LfvrChris at aol.com wrote:
>     Comment se fait-il que lorsque je place le caractère "\" dans les 
> macros, le code ne va pas à la ligne comme il le devrait ?

??

Ca permet d'ecrire :
#define macro \
    int \
      i = \
      2

Donc ca /permet/ au programmeur de passer a la ligne quand il ecrit son 
code. Par contre, quand cpp (le préprocesseur C) passe dessus, il 
transforme le code suivant :
   Bonjour;
   macro;
   Salut;
En :
   Bonjour;
   int i = 2;
   Salut;
C'est-a-dire que le preprocesseur remet tout sur une seule ligne.

> éditant son contenu. J'utilise gcc de djgpp et nasm car tellement 
> habitué à la syntaxe classique et non pas à la syntaxe AT&T.

Tu peux lire l'assembleur au format intel meme avec gcc normal sous 
Linux. Il suffit de compiler normalement ton source (genre gcc -c 
toto.c) et d'utiliser objdump pour desassembler, mais avec l'option -M 
intel : "objdump -S -M intel toto.o" . Tu peux faire ca avec tout 
sos.elf si tu veux (seulement 13170 lignes de code assembleur sur ma 
version). Mais il faut des binutils recents (ici : 2.15).

-- 
David Decotigny -- http://david.decotigny.free.fr


Plus d'informations sur la liste de diffusion Sos