5.2.20
04/02/20
Last Modified 08/19/10 by Walter Tasin
MinGWCTest Reload Page

Installationstest MinGW/GCC

Dieses Dokument beschreibt wie man über die Eingabeaufforderung von Windows unter Verwendung von MinGW/GCC kleine Applikationen erstellt.

Beispiel eines Kompilierungsvorgangs (ANSI-C90)

Verwenden Sie einen Texteditor (z. B. SciTe (zip download)) zum Erstellen der Datei test.c (wichtig dabei ist die Endung der Datei!).

<geshi type="C">// Nicht ANSI-C90 konformes Beispiel
#include <stdio.h>

int main()
{ double wert=0;
printf("Geben Sie eine Fliesspunktzahl an: ");
scanf("%lf", &wert);

printf("\nSie haben %lf eingegeben.\n"
"Druecken Sie nun <Enter>\n", wert);
int ch;
getchar(); // ignoriere Zeilenvorschub im Puffer
ch=getchar();

}

</geshi>

Nun können Sie diese Applikation mithilfe von MinGW so erstellt werden, dass nur ANSI-C90 zulässig ist:

C:\Dokumente und Einstellungen\Tasin\Eigene Dateien>gcc -ansi -pedantic -Wall -Wextra -o test.exe test.c
test.c:1: error: syntax error before '/' token
In file included from test.c:2:
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:191: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:207: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:211: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:319: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:320: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:330: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:331: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:411: error: syntax error before "fread"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:412: error: syntax error before "fwrite"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:564: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:567: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:603: error: syntax error before "size_t"
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdio.h:604: error: syntax error before "size_t"
test.c: In function `main':
test.c:12: warning: ISO C90 forbids mixed declarations and code
test.c:13: error: syntax error before '/' token
test.c:12: warning: unused variable `ch'
test.c:16:2: warning: no newline at end of file

C:\Dokumente und Einstellungen\Tasin\Eigene Dateien>

Diskussion der Fehler

folgt noch ...

Verbesserung

Und nun in korrigierter Form:
<geshi type="c">/* ANSI-C90 konformes Beispiel */
#include <stdio.h>

int main()
{

double wert=0;
int ch;

printf("Geben Sie eine Fliesspunktzahl an: ");
scanf("%lf", &wert);

printf("\nSie haben %f eingegeben.\n"
"Druecken Sie nun <Enter>\n", wert);

getchar(); /* ignoriere Zeilenvorschub im Puffer */
ch=getchar();

return 0;
}

</geshi>

Damit ist das Programm fehlerfrei erstellt worden und kann ausgeführt werden.

C:\Dokumente und Einstellungen\Tasin\Eigene Dateien>gcc -ansi -pedantic -Wall -Wextra -o test.exe test.c

C:\Dokumente und Einstellungen\Tasin\Eigene Dateien>test
Geben Sie eine Fliesspunktzahl an: 2.3

Sie haben 2.300000 eingegeben.
Druecken Sie nun <Enter>

C:\Dokumente und Einstellungen\Tasin\Eigene Dateien>