Erstellen von "langen" 4 Bytes in gcc auf einem 64-Bit-Linux-Computer

Ich arbeite an der Portierung einer Anwendung auf 64-Bit auf einer Linux-Plattform. Die Anwendung wird derzeit unter Linux, Windows, Mac 32-Bit und Windows 64-Bit unterstützt. Eines der Probleme, auf die wir häufig stoßen, ist die Verwendung von long for int und umgekehrt. Dies war bis jetzt kein Problem, da long und int auf den Plattformen, auf denen die Anwendung derzeit unterstützt wird, austauschbar sind (beide sind 4 Byte). Die Codebasis ist riesig, mit vielen Legacy-Codes mit #defines für viele Datentypen, was es mühsam macht, die gesamte Verwendung von long zu durchsuchen und entsprechend durch int zu ersetzen.

Gibt es als kurzfristige Lösung eine Möglichkeit, GCC zu veranlassen, 4 Bytes anstelle von 8 für "lang" zu verwenden?Wenn ja, mit welchen Problemen könnten wir konfrontiert sein? Wenn nicht, gibt es einen einfacheren Weg, um das Long- und Int-Problem zu beheben?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage