Nein, das hängt durchaus mit C zusammen, und ist nicht in allen Fällen trivial. Es kann sogar Unterschiede je nach Compilereinstellungen geben. Es ist einfach ein C-Typen Problem, das in dem Zusammenhang auftreten kann. Und daraus ergeben sich oft Probleme im Zusammenhang mit Speicherreservierung und Pointern, nur um mal ein paar Stellen zu nennen. Klar kann man das alles ausmerzen, aber ein wenig Aufwand kann da durchaus drinstecken
Es gibt halt schon seit Ewigkeiten definiert breite Datentypen. Wenn man wirklich(!) ein Ding braucht, dass beispielsweise 32 bit breit ist, verwendet man eben int32_t bzw. u_int32_t.
Die klassischen Flaschenhälse sind ebenfalls durch dynamische Typen abbildbar (size_t, time_t, ptrdiff_t, etc.).
eben da wird das Problem liegen! wenn in einer Library eine int32 Variable verwendet wurde und der Programmierer aber eine int Variable übergeben hat, hat er auf einer 32 bit Maschine beim Kompilieren kein Problem. Aber eben dann auf der 64 bit Maschine!
Es kann sogar Unterschiede je nach Compilereinstellungen geben. Es ist einfach ein C-Typen Problem, das in dem Zusammenhang auftreten kann. Und daraus ergeben sich oft Probleme im Zusammenhang mit Speicherreservierung und Pointern, nur um mal ein paar Stellen zu nennen. Klar kann man das alles ausmerzen, aber ein wenig Aufwand kann da durchaus drinstecken
Die klassischen Flaschenhälse sind ebenfalls durch dynamische Typen abbildbar (size_t, time_t, ptrdiff_t, etc.).
lg
Erik
wenn in einer Library eine int32 Variable verwendet wurde
und der Programmierer aber eine int Variable übergeben hat,
hat er auf einer 32 bit Maschine beim Kompilieren kein Problem.
Aber eben dann auf der 64 bit Maschine!