2010-08-27 6 views
2

Sur une boîte Linuxquestion sur c compilation

est obligatoire d'écrire un programme dans un fichier et le compiler

cant cela se fait à partir de la ligne de commande

localhost$gcc "include<stdio.h> int main(){printf('hello world'); return o; }" 
+0

S'il vous plaît donner une raison pour la downvote – Rajeev

+0

je ne l'ai pas downvote, mais ce arrivé quand vous avez essayé? Même si cela est possible, l'exécution de code à partir de la ligne de commande n'est possible que pour les langages de script. – Amarghosh

+1

Je n'ai pas downvote, mais je peux voir pourquoi quelqu'un le ferait. Votre question indique un certain manque de compréhension très basique des technologies et de la façon de faire les choses. La question est bizarre, l'exemple de code fourni est dénué de sens et contient des erreurs de base. Pas de problème, nous devons tous commencer quelque part, la plupart d'entre nous partons d'un livre. Vous pourriez lire quelques chapitres de http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/perens/0130091154.pdf ou http://www.catb.org/%7Eesr/writings/taoup/html/ pour obtenir un aperçu rapide. Amusez-vous et gagnez de l'expérience! À un de ces quatre. –

Répondre

5

sûr que vous pouvez, mais je doute que cela a du sens ....

$ echo '#include <stdio.h> 
int main() { printf("hello world\n"); return 0; }' | gcc -x c - 
$ ./a.out 
hello world 
$ 

Options gcc:

-o <file>    Place the output into <file> 
    -x <language>   Specify the language of the following input files 
          Permissible languages include: c c++ assembler none 
          'none' means revert to the default behavior of 
          guessing the language based on the file's extension 
+0

@ Markus: Peut-on changer a.out en un choix d'utilisateur à la place, disons test1.out pour le code ci-dessus .. – Rajeev

+0

@Rajeev Oui, spécifiez l'option -o, qui indique à gcc où il doit écrire. par exemple. gcc file.c -o exemple; ./exemple – brennie

+0

Merci .................... – Rajeev