MinGW-Compiler: Programm kann nicht an der Eingabeaufforderung ausgeführt werden

437
Kanishk Viman

Ich habe den MinGW-Compiler heruntergeladen. Ich schrieb ein kleines c-Programm und kompilierte es wie folgt:

gcc -c firstc.c 

Es hat eine ausführbare Datei als "firstc.o" generiert.

Aber als ich versuchte, das Programm in der Eingabeaufforderung auszuführen, wie folgt:

firstc.o 

Daraufhin wurde ein promptes Fenster angezeigt

"Wie möchten Sie diese Datei öffnen?"

und mit einer Liste von Optionen für Apps, für die Sie sich entscheiden können.

Was könnte das Problem sein? Wie kann ich die Ausgabe meines Programms in der Eingabeaufforderung selbst umleiten?

Falls das Programm verdächtigt werden kann, befindet sich das Programm in der Datei:

#include <stdio.h>  struct gl {   int n ; char a[10];  } ;  int  main () {  struct gl* str_p ;  printf(" Meri marzi /n") ; return 0 ;  } 
0

1 Antwort auf die Frage

1
DavidPostill

Wie kompiliere und verlinke ich ein Programm mit gcc?

Es hat eine ausführbare Datei als "firstc.o" generiert.

firstc.oist ein Objektmodul und keine ausführbare Datei. Es muss verlinkt werden (siehe später).

Das ist, weil Sie gelaufen sind:

gcc -c firstc.c 

Und -cweist den Compiler an:

Kompilieren oder zusammenstellen der Quelldateien, aber keine Verknüpfung . Die Verbindungsphase wird einfach nicht durchgeführt. Die endgültige Ausgabe erfolgt in Form einer Objektdatei für jede Quelldatei.

Quelle Allgemeine Optionen - Mit der GNU Compiler Collection (GCC)

So verknüpfen Sie in einem separaten Schritt:

gcc -o firstc firstc.o -lm 

So kompilieren und verlinken Sie in einem Schritt:

gcc -Wall firstc.c -o firstc 

So führen Sie Ihr Programm aus:

./firstc 

Zum Schluss lesen Sie bitte die folgenden Anweisungen zur Verwendung von gcc:

@ DavidPpostill: Vielen Dank Kanishk Viman vor 5 Jahren 0