Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?
-
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Unions verstehe ich noch, aber was ist int16_t? Und wieso nicht einfach unsigned short?
int16_t
ist ein ganzzahliger Datentyp aus<stdint.h>
, der (im Gegensatz zushort
) garantiert 16 Bits breit ist.@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
short_byte_reader ist wohl eine struct... definiert in stdint.h - oder in stdio.h?
Schau mal genau ... das ist die über
main()
definierteunion
.
-
Hi(gh)!
@bashar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Das Problem liegt vermutlich darin, dass du das mit dem g++ übersetzt. Das ist ein C++-Compiler, wie der Name vielleicht schon vermuten lässt.
Gibt es heutzutage noch dedizierte C-Compiler für Linux?
Außerdem gehts hier nicht um Nullzeiger, sondern um void-Zeiger.
O.k., da habe ich mich unsauber ausgedrückt, ich meinte natürlich void-Zeiger!
Bis bald im Khyberspace!
Yadgar
-
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Gibt es heutzutage noch dedizierte C-Compiler für Linux?
Ja, sicher. Zum Beispiel g++
Lass dich mal nicht verunsichern, g++ kann durchaus Standard C-ohne-++.
Oder auch Clang.C99! C11! (...)
Ich komme mir so grenzenlos dumm und beschränkt vor...Ja, kann ich verstehen. Musst du aber nicht. Ob du das weiterverfolgen willst ist natürlich deine Sache, aber dumm vorkommen musst du dir dabei sicher nicht. Es gibt auch einige "Experten" die immer noch nicht mitbekommen haben dass es in C jetzt auch strict aliasing gibt - und massig Code mit undefiniertem Verhalten schreiben.
-
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Gibt es heutzutage noch dedizierte C-Compiler für Linux?
Weiß nicht genau, was du mit dediziert meinst. Es wäre wohl ein bisschen unpraktisch, wenn ein OS, dessen halbe Softwarelandschaft inklusive Kernel in C geschrieben ist, keinen C-Compiler hätte. Der gcc kann C und C++ (und Ada und Fortran, glaub ich) übersetzen, aber wenn du ihn mit
g++
aufrufst, macht er C++.O.k., da habe ich mich unsauber ausgedrückt, ich meinte natürlich void-Zeiger!
Nee, das ist einfach falsch. Nullzeiger gibt es ja auch.
-
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Ich komme mir so grenzenlos dumm und beschränkt vor...
Hör endlich auf mit der Zurschaustellung Deines Selbstmitleids. Echt zum Kotzen!
-
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Hi(gh)!
...Bis bald im Khyberspace!
Ich komme mir so grenzenlos dumm und beschränkt vor...Ja, mir auch.
-
@belli Belli, sei lieb!!
-
@hustbaer sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Gibt es heutzutage noch dedizierte C-Compiler für Linux?
Ja, sicher. Zum Beispiel g++
Lass dich mal nicht verunsichern, g++ kann durchaus Standard C-ohne-++.
Oder auch Clang.Naja, mit g++ x.c -c kommt halt der Fehler:
x.c: In function ‘int main()’:
x.c:25:10: error: invalid conversion from ‘void*’ to ‘unsigned char*’ [-fpermissive]
ptr2 = dummy;
^~~~~Mit gcc nicht.
-
@manni66 sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
@hustbaer sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Gibt es heutzutage noch dedizierte C-Compiler für Linux?
Ja, sicher. Zum Beispiel g++
Lass dich mal nicht verunsichern, g++ kann durchaus Standard C-ohne-++.
Oder auch Clang.Naja, mit g++ x.c -c kommt halt der Fehler:
x.c: In function ‘int main()’:
x.c:25:10: error: invalid conversion from ‘void*’ to ‘unsigned char*’ [-fpermissive]
ptr2 = dummy;
^~~~~Mit gcc nicht.
Du sollst dem g++ ja auch sagen, dass er für C compilieren soll. Was durchaus möglich ist, aber halt unnötig umständlich.
-
@seppj sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
@manni66 sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
@hustbaer sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
@yadgar sagte in Reguläre Zeiger in Nullzeiger wandeln und zurück - nicht mehr Standard?:
Gibt es heutzutage noch dedizierte C-Compiler für Linux?
Ja, sicher. Zum Beispiel g++
Lass dich mal nicht verunsichern, g++ kann durchaus Standard C-ohne-++.
Oder auch Clang.Naja, mit g++ x.c -c kommt halt der Fehler:
x.c: In function ‘int main()’:
x.c:25:10: error: invalid conversion from ‘void*’ to ‘unsigned char*’ [-fpermissive]
ptr2 = dummy;
^~~~~Mit gcc nicht.
Du sollst dem g++ ja auch sagen, dass er für C compilieren soll. Was durchaus möglich ist, aber halt unnötig umständlich.
Mir ist das klar. Dem Fragesteller aber sicher nicht.