2016-03-23 8 views
0

Ich bin ziemlich neu in C und bin völlig neu in der Verwendung der Eingabeaufforderung und GCC zum Kompilieren und Ausführen meiner Programme. Ich bemühe mich, die richtigen Worte zu finden, um diese Frage richtig zu stellen, also bitte, ertragen Sie mit mir, ich tue mein Bestes.GCC/Eingabeaufforderungsfehler: '.' wird nicht als interner oder externer Befehl erkannt

Ich muss GCC verwenden, um dieses C-Programm zu kompilieren und auszuführen, aber ich erhalte einen Fehler, den ich nicht verstehe. In diesem Beispielprogramm, wurde mir gesagt, diese Zeilen zu verwenden, um den Code zu kompilieren und ausführen:

$ gcc -Wall -std=c99 -o anagrams anagrams.c 
$ ./anagrams dictionary1.txt output1.txt 

das so ist, was ich tat. GCC kompiliert die Programmdatei, daher gibt die erste Zeile keinen Fehler. Aber GCC nicht die zweite Zeile nicht mag, wie unten dargestellt:

C:\Users\...\Example>gcc -Wall -std=c99 -o anagrams anagrams.c 
C:\Users\...\Example>./anagrams dictionary1.txt output1.txt 
'.' is not recognized as an internal or external command, 
operable program or batch file. 

Überall sehe ich, sagt, es zu benutzen „./filename“, um das Programm zu starten nach dem Kompilieren so verstehe ich nicht, warum es nicht funktioniert für mich. Jede Hilfe oder Beratung würde wirklich geschätzt werden.

Auch hier ist die main() des Programms zu zeigen, warum diese beiden TXT-Dateien benötigt werden:

int main(int argc, char *argv[]) 
{ 
    AryElement *ary; 
    int aryLen; 

    if (argc != 3) { 
     printf("Wrong number of arguments to program.\n"); 
     printf("Usage: ./anagrams infile outfile\n"); 
     exit(EXIT_FAILURE); 
    } 

    char *inFile = argv[1]; 
    char *outFile = argv[2]; 

    ary = buildAnagramArray(inFile,&aryLen); 

    printAnagramArray(outFile,ary,aryLen); 

    freeAnagramArray(ary,aryLen); 

    return EXIT_SUCCESS; 
} 
+2

Funktioniert 'anagrams dictionary1.txt output1.txt' oder' anagrams.exe dictionary1.txt output1.txt' für Sie? –

+0

versuchen Sie auf Windows-Box? Die angegebenen Befehle sollten auf einer Linux-Box (Shell) funktionieren. –

+0

In beiden Fällen bekomme ich ein "anagrams.exe hat nicht mehr funktioniert" Crash Pop-up. – AsricDog

Antwort

5

'.' is not recognized as an internal or external command

Dies ist kein GCC Fehler ist. Der Fehler wird von der Shell ausgegeben, wenn versucht wird, einen Befehl auszuführen.

Auf Windows diese

./anagrams dictionary1.txt output1.txt 

sollte

.\anagrams dictionary1.txt output1.txt 

wie unter Windows der Pfad Begrenzer ist \ als opposedto IX'ish Systeme, bei denen es / ist.

Auf beiden Systemen bezeichnet . das aktuelle Verzeichnis.

Der Grund für den Absturz, den Sie in Ihrem Kommentar erwähnen, ist nicht offensichtlich aus den minimalen Quellen, die Sie zeigen. Auch das ist eine andere Frage.

+0

"_IX'ish systems_" - Nie davon gehört. Was ist "IX"? –

+0

@CoolGuy Dies bezieht sich auf UNIX-ähnliche Systeme. – alk

+0

Sie könnten dann POSIX sagen, denn das ist heutzutage der Standard, den UNIX-Systeme einhalten (und GNU-basierte Systeme versuchen - schlecht nachzuahmen). –