[g++] Precompiler Makro für CPU-Architekturen?
-
Weiß jemand, wie die gängigen Makrodefs für die CPU-Architekturen heißen? Bzw. wo findet man eine Auflistung des g++? (natürlich auch mingw)
Hauptsächlich geht es darum, das man unterscheiden können soll, für welchen CPU-Typ kompiliert wird: Little-Endien und Big-Endien. Oder wie macht ihr das, wenn ihr Bits hin und her schiebt?
-
Für eine volle Liste hilft dir das vielleicht (?): http://developer.apple.com/qa/qa2005/qa1424.html
macros to detect endiannes?: http://gcc.gnu.org/ml/gcc-help/2003-08/msg00326.html
Aber ich würd sowas für Compiletime auch mit den Autoconf Macros machen.
-
OK, danke. Also dann doch eher selber Makros definieren. (mit Autoconf kenne ich mich nicht aus)
-
Artchi schrieb:
OK, danke. Also dann doch eher selber Makros definieren. (mit Autoconf kenne ich mich nicht aus)
Nö, brauchst nicht. Es gibt ja die für die Architekturen (__i386, __sparc ..)
Hab aber auch keine Liste gefunden.
Versuch mal:gcc -E -Wp,-dM
(eventuell in File umleiten)
-
hier sind ein paar: http://www.blender3d.org/cms/Names.146.0.html
absatz 'platform identifiers'
-
Aha! Na das hilft mir doch schon mal sehr gut weiter. Weil ich muß hauptächlich zwischen Big- und Little-Endien unterscheiden. Udn wchar_t ob es 2 oder 4 bytes groß ist. Dann hab ich alles was ich brauche. Danke!
-
Für vordefinierte Makros jeglicher Art kannst du auch hier mal nachschauen.
-
Sowas habe ich gesucht!