Kürzere Version der Frage:
Welche C - Header enthält das Makro , das entspricht die Maschinenarchitektur des Systems (zB __x86_64__
, __ia64__
, __mips__
?)
Längere Version der Frage:
Ich möchte die Ganglienüberwachungstools auf einem Tilera- basierten System ausführen , auf dem Linux ausgeführt wird.
Ganglia hat derzeit keine Unterstützung für Tilera. Damit dies funktioniert, musste ich eine C-Funktion namens machine_type_func ändern , die die Maschinenarchitektur zurückgibt. Der Hauptteil dieser Funktion wird zur Kompilierungszeit festgelegt. Er sieht folgendermaßen aus:
g_val_t
machine_type_func ( void )
{
g_val_t val;
#ifdef __i386__
snprintf(val.str, MAX_G_STRING_SIZE, "x86");
#endif
#ifdef __x86_64__
snprintf(val.str, MAX_G_STRING_SIZE, "x86_64");
#endif
...
return val;
}
Ich muss die entsprechende Zeile für Tilera hinzufügen, kenne aber nicht den Namen des Makros, das ein Tilera-basiertes System angibt. Ich vermute, dieses Makro ist in einem der Standard-Linux-Header definiert, aber ich weiß nicht, in welchem ich suchen soll.
quelle