2012-06-07 9 views
1

Je suis en train de compiler un simple « bonjour monde »Ne comprennent pas que gcc bien, mais je ne trouve pas pourquoi il ne fonctionne pas

nom_fichier

#include <stdio.h> 
void main() { 
    printf ("Hello World\n"); 
} 

j'essayer: gcc nom_fichier et je reçois "Fichier non reconnu Format de fichier non reconnu"

Cependant, je suis sûr à 100% que j'ai fait exactement la même chose il y a quelques semaines (juste pour voir si cela fonctionne, comme maintenant) et cela a fonctionné, donc Je ne comprends pas.

gcc -ver // returns 4.6.1 if this helpes 

Comment gcc -o est supposé fonctionner? Le manuel (man gcc) est juste du charabia par moments (pour moi)

+0

Quel est le nom de fichier actuel? –

+0

Essayez de renommer votre fichier en "nom_fichier.cpp" (notez la fin .cpp pour C++ ou .c pour C) – Attila

+0

Vous n'avez probablement pas une fin de fichier correcte (comme 'file.c') – birryree

Répondre

1

gcc essaie de deviner la langue utilisée (par exemple C ou C++) en fonction de l'extension du fichier, vous avez donc besoin pour vous assurer que vous disposez de l'extension de fichier appropriée (généralement .cpp pour C++ et .c pour les fichiers Cdource). Sinon, lisez le manuel s'il existe une option de ligne de commande pour indiquer explicitement le format (indépendamment de l'extension). Comme pour le paramètre de ligne de commande "-o": le nom spécifié après cette option est le nom du fichier objet créé à partir du fichier source compilé. Les fichiers objets sont ensuite liés ensemble pour former un exécutable

+0

Merci, comme je l'ai déjà dit, je n'ai aucune idée du fonctionnement des extensions dans unix/ubuntu. Je pensais que gcc == c et g ++ == C++. Encore une fois, je pensais que les extensions ne comptaient pas. – Kalec

2

Disons que votre programme est enregistré sous helloworld.c. Taper gcc -o myprog helloworld.c compilerait helloworld.c dans myprog. De cette façon, lorsque vous voulez exécuter le programme, tout ce que vous tapez dans la ligne de commande est ./myprog

Questions connexes