Ist es möglich, neu zu definieren, was ein int
in C++ ist?Grundtypen in C++ neu definieren
Der Grund ist, weil ich einige Arduino-Code auf einem Computer ohne den Arduino-Code ändern möchte. Um zum Beispiel den Überlauf auf die gleiche Weise zu demonstrieren, müsste int
16-Bit statt der 32-Bit sein, die es auf meinem Rechner ist.
So im Wesentlichen möchte ich:
typedef int16_t int;
Neben den gleichen Typen für andere Daten zu tun, die Arduino verwendet.
Allerdings glaube ich nicht, das ist möglich, da sie den Fehler (wenig überraschend) wirft:
error: cannot combine with previous 'type-name' declaration specifier
Gibt es eine Weise, die ich dies leicht tun kann?
wahrscheinlich ist der einzige Weg, es zu tun, ohne den Code zu berühren, mit einem Compiler-Schalter. Nicht sicher, welche, aber die GCC-Dokumente sollten es auflisten, wenn es existiert. –
Sie könnten etwas Verrücktes tun wie '#define int int16_t' –
@ VadaPoché Das Definieren eines Makros, das nach einem Schlüsselwort benannt ist, weist ein undefiniertes Verhalten auf. –