GCC unter windows

Gast
g457 schrieb:
> Encoding?

was genau heißt das?
Ich habe auch schon
mingw32-gcc.exe main.c

und alle anderen, aber ich bekomme immer die selben warnungen.
Was bedeutet Null characters ignored? Was ist ein Null character?
Gast
> was genau heißt das?

Ich vermute Du hast ein falsches(tm) encoding angegeben (oder im 
flacshen charset gespeichert). Lass mal 'file' auf die main.c los. 
Behelfsweise lad mal eine Datei hier hoch (als Anhang!).

> Was ist ein Null character?

Eine 0, oder '\0', auch bekannt als 'Null'.
Gast
1
$ gcc -o main main.c 2>&1 | head -n 5
2
main.c:1:1: error: stray ‘\377’ in program
3
main.c:1:1: error: stray ‘\376’ in program
4
main.c:1:1: error: stray ‘#’ in program
5
main.c:1:4: warning: null character(s) ignored [enabled by default]
6
main.c:1:6: warning: null character(s) ignored [enabled by default]
7

8
$ file main.c 
9
main.c: C source, Little-endian UTF-16 Unicode text, with CRLF, LF line terminators
10

11
$ gcc -finput-charset=utf16 -o main main.c
12
main.c:1:19: error: failure to convert utf16 to UTF-8
13
main.c: In function ‘main’:
14
main.c:4:2: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
15
main.c:5:43: warning: incompatible implicit declaration of built-in function ‘scanf’ [enabled by default]
16

17
$ echo da iss was am encoding kaputt >/dev/null
18

19
$ ghex main.c 
20

21
$ iconv -f utf16 -t utf8 -o main-utf8.c main.c 
22

23
$ file main-utf8.c 
24
main-utf8.c: C source, ASCII text, with CRLF, LF line terminators
25

26
$ gcc -o main main-utf8.c
27

28
$ file main
29
main: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x48a4f97d8e07b1e2a06a2bd1dcf88be6d887f033, not stripped

..nimm einen anständigen Editor und gib ggf. das input-charset mit an.
Gast
(streiche 'input-charset', setzte 'Ausgabe-Charset' - ich bekommt gcc 
nicht zuverlässig mit utf16 zum laufen. Vielleicht weiss Gugl da noch 
was dazu).

> Gibt es eine Möglichkeit ohne dieses char Dings reinzugeben?

Theoretisch kann man Notpad++ das Ausgabe-Charset angeben. Allerdings 
nutzte ich das nie (unter Windows (fast) nur ConTEXT), ich kann Dir also 
nicht zuverlässig sagen, wo - laut Gugl irgendwo(tm) in den Preferences 
als 'utf8 ohne BOM'.
Moderator Persönliche Seite
Man kann dem GCC durchaus auch ein UTF-16-File hinsetzen:
1
j@remi 881% gcc -finput-charset=utf-16 -o prog main.c 
2
main.c:1:19: error: failure to convert utf-16 to UTF-8
3
main.c: In function 'main':
4
main.c:4:2: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
5
main.c:5:43: warning: incompatible implicit declaration of built-in function 'scanf' [enabled by default]
6
main.c:5:2: warning: format '%ld' expects a matching 'long int *' argument [-Wformat]
7
main.c:5:2: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'int' [-Wformat]

Allerdings ist mir sein "failure to convert" gerade nicht klar.  Laut
Manual sollte die Konvertierung durch das iconv des Betriebssystems
abgedeckt werden; diese funktioniert jedoch, im Gegensatz zu GCCs
Fehlermeldung.
Gast
> Man kann dem GCC durchaus auch ein UTF-16-File hinsetzen:

Die (fast) selben Fehlermeldungen hatte ich oben [0] auch. Und mit iconv 
gings dann (latürnich) (ebenfalls [0]). Auf einem debian/testing/amd64. 
Also doch lieber bei utf8 bleiben :-)

Nix für ungut.

[0] mein Posting von 26.03.2013 22:14

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.