Juste suis tombé sur ce gars qui m'a laissé abasourdi:quelqu'un peut-il briser cette ligne en dehors gcc -E -dM -</ dev/null
gcc -E -dM - </dev/null
Cette partie est source de confusion pour moi:
- </dev/null
Juste suis tombé sur ce gars qui m'a laissé abasourdi:quelqu'un peut-il briser cette ligne en dehors gcc -E -dM -</ dev/null
gcc -E -dM - </dev/null
Cette partie est source de confusion pour moi:
- </dev/null
Le "</dev/null" bit est au niveau de la coque et non spécifique à gcc
< defines input file
> defines ouput file for std out,
>> defines a output for std out that will be appended to,
| sends std out output to another process on it's std in
J'oublie la syntaxe mais vous pouvez également spécifier aswell err std comme & 2>
Le nom après les parenthèses est le nom d'un fichier, où/dev/null est un fichier vide
man sh devrait vous aider à résoudre ces questions.
Ne pas avoir accès à gcc au moment, en supposant d'autres commentaires que - est en train de lire dans std, alors et déclaration equivelant est
gcc -E -dM /dev/null
Cela ne fonctionne pas car GCC regarde le nom de fichier '/ dev/null', et dit" n'a pas d'extension '.c', donc je ne vais pas le pré-traiter". – ephemient
@ ephemient: Non./Dev/null est un périphérique spécial qui agit comme un fichier et n'est pas lu en tant que fichier. Les moyens
@Martin: Je parle de la fin de la réponse de Greg, en ce qui concerne la commande 'gcc -E -dM/dev/null': cela ne fonctionne pas. Si vous ne laissez pas GCC connaître le nom de fichier, en utilisant 'gcc -E -dM - dev/null', ou forcer la source C, en utilisant' gcc -E -dM -xc/dev/null', bien sûr cela fonctionne . – ephemient
Cela donne une liste de toutes les macros prédéfinies dans gcc. -E signifie exécuter le préprocesseur. -dM signifie vider les macros prédéfinies du préprocesseur. Le - est pour la lecture de l'entrée standard et/dev/null juste des flux dans un fichier source vide.
Était-ce de mon commentaire? –
haha ça ressemble Chris – GRB
Oui Chris-- attendez-vous à répondre! – vehomzzz