2016-03-23 13 views
0

私はCのことがかなり新しく、コマンドプロンプトとGCCを使って自分のプログラムをコンパイルして実行するのは全く新しいです。私はこの質問を正しく聞くための正しい言葉を見つけるのに苦労しているので、私と一緒に抱きしめてください。私はベストを尽くしています。GCC /コマンドプロンプトエラー: '。'内部または外部のコマンドとして認識されない

このCプログラムをコンパイルして実行するにはGCCを使用する必要がありますが、私は理解できないエラーが出ています。このサンプルプログラムでは、これらの行を使用してコードをコンパイルして実行するように指示されました。

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

これは私が行ったことです。 GCCはプログラムファイルをコンパイルするので、最初の行はエラーを表示しません。下に示すように、しかし、GCCは、二行目は好きではない:それは働いていない理由どこでも私は見て

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. 

、それは私が理解していないので、コンパイル後のプログラムを実行するために、「./filename」を使用すると言います私のために。どんな助けやアドバイスも本当に感謝しています。

はまた、ここではこれら二つの.txtファイルが必要な理由を示すために()プログラムのメインです:

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

'anagrams dictionary1.txt output1.txt'または' anagrams.exe dictionary1.txt output1.txt'はあなたのために機能しますか? –

+0

あなたはWindowsボックスで試していますか?与えられたコマンドは、Linuxのボックス(シェル)上でうまく動作するはずです。 –

+0

どちらの場合も、「anagrams.exeが動作を停止しました」というクラッシュポップアップが表示されます。 – AsricDog

答えて

5

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

これはGCCのエラーではありません。このエラーは、コマンドを実行するときにシェルによって発行されます。パス区切り文字は、それが/あるopposedto IX'ishシステムとして\あるWindows上でWindows上で

この

./anagrams dictionary1.txt output1.txt 

.\anagrams dictionary1.txt output1.txt 

でなければなりません。

両方のシステムで.は、現在のディレクトリを示します。


あなたのコメントにあなたが言及したクラッシュの理由は、あなたが示す最小限のソースからは明らかではありません。これは別の質問です。

+0

"_IX'ish systems_" - 聞いたことがありません。 「IX」とは何ですか? –

+0

@CoolGuyこれは 'UNIX 'のようなシステムを指します。 – alk

+0

UNIXシステムが遵守している(そして、GNUベースのシステムは、模倣しようとしています。 –

関連する問題