Mein Compiler (gcc) gibt mir diese Warnung. Bitte helfen Sie mir zu verstehen, was es bedeutet:
Warnung: Trigraph ??/ ignoriert, verwenden Sie -trigraphs zum Aktivieren
Angus
Mein Compiler (gcc) gibt mir diese Warnung. Bitte helfen Sie mir zu verstehen, was es bedeutet:
Warnung: Trigraph ??/ ignoriert, verwenden Sie -trigraphs zum Aktivieren
Jon
Sie haben “versehentlich” irgendwo in Ihrem Quellcode einen Trigraph geschrieben (die Warnung des Compilers würde die Zeile genau bestimmen). Da Trigraphen erfunden wurden, um ein Problem zu lösen, das auf modernen Systemen nicht ins Spiel kommt, wollen Sie den Trigraphen eigentlich nicht ??/
durch das Zeichen ersetzt werden \
.
Daher sollte diese Warnung wahrscheinlich ignoriert werden (Sie können den Compiler anweisen, den Mund zu halten, indem Sie hinzufügen -Wno-trigraphs
nach -Wall
in Ihrer Befehlszeile; siehe die Dokumente). Aber es wäre gut, Ihren Quellcode zu zeigen, damit wir sicher sein können.
Anstatt ein Compiler-Flag hinzuzufügen, könnten Sie einfach jedes Fragezeichen mit maskieren \
dh \?\?-
. Das hat in meinem Fall geholfen.
Das Compiler-Flag ist für Fälle gedacht, in denen Sie einen Trigraphen schreiben, ohne zu bemerken, dass es sich um einen handelt. Dann wird Sie der Compiler nicht darüber ärgern. Wenn Sie zum Zeitpunkt des Schreibens wussten, dass es sich um einen unbeabsichtigten Trigraphen handelt, könnten Sie ihn wie vorgeschlagen maskieren und Compiler-Flags vergessen.
– j_kubik
20. März 2014 um 7:56 Uhr
??/
das Äquivalent zum Backslash ist, können Sie den Triagraphen durch “\” ersetzen– Eric Fortis
8. Dezember 2011 um 17:58 Uhr
Sofern Sie nicht (sagen wir) C-Code auf einem Mainframe 3270-Terminal oder so weiter bearbeiten, ist es eine „gute Idee“, ein Vorkommen von „?“ zu schreiben. als “?\?”, um der Paranoia willen. (Einige Zeichen, wie {} [] \, fehlen in vielen Mainframe-Zeichensätzen sowie einigen nicht-englischen Tastaturen für andere Systeme.)
– BRPocock
8. Dezember 2011 um 18:06 Uhr
Die staubigen Ecken von C schlagen wieder zu …
– tdenniston
8. Dezember 2011 um 18:07 Uhr