Auch bei Linux ist der char 1 Byte gross. Ein
Unicode char hat schon seit vielen Jahren den Typ wchar_t.
Ueblicherweise ist er als "typedef short int wchar_t;" deklariert. Moderne Compiler gehen dazu ueber wchar_t als Sprachbestandteil zu behandeln.
Du solltest vielleicht mal den Rahmen deiner Frage setzen, statt dich zu beklagen das unsere Vorschlaege nicht zu deiner Zufriedenheit sind.
Wenn du wirklich auf der Abstraktionsebene des
ANSI-C-Sprachstandards implementieren willst, dann sage das doch bitte.
Compiler mit short int = 1 Byte und int = 2 Byte sind heutzutage nur noch im Mikrocontrollerumfeld anzutreffen. Du willst doch nicht ernsthaft darauf dann einen Z80-Emulator laufen lassen?
Du impliziert uebrigens in deinen Antworten das du firmer in C bist als ich.
Beantworte daher bitte die Frage was Trigraphen sind.
Edit: ein paar Schreibfehler