問題の簡単なバージョン:
システムの機械アーキテクチャに対応するマクロ(例えば、、、__x86_64__
?__ia64__
)__mips__
を含むCヘッダファイルは何ですか?
質問のより長いバージョン:
走りたい神経節モニタリングツールティレラLinuxを実行しているシステムに基づいています。
Gangliaは現在Tileraをサポートしていません。機能するには、次のファイルを変更する必要があります。マシンタイプ機能マシンアーキテクチャを返します。関数の本文は、コンパイル時に次のように決定されます。
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;
}
Tileraに適切な行を追加する必要がありますが、Tileraベースのシステムを指定するマクロ名がわかりません。このマクロは標準のLinuxヘッダファイルの1つで定義されているようですが、どのファイルを見るべきかわかりません。
ベストアンサー1
ヘッダーファイルはそれを定義しません。これらのマクロはコンパイラによって事前定義されています。事前定義されたマクロの完全なリストを見つけるには、次のようにします。
echo | gcc -E -dM -
次に、可能なマクロの結果を確認します。