问题的简短版本:
其中C头包含宏对应于该系统的机器体系结构(例如,__x86_64__,__ia64__,__mips__?)
更长版本的问题:
我想在运行 Linux 的基于Tilera的系统上运行神经节监控工具。
Ganglia 目前不支持 Tilera。为了让它工作,我需要修改一个名为machine_type_func的 C 函数,它返回机器架构。这个函数的主体是在编译时确定的,它看起来像这样:
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;
}
Run Code Online (Sandbox Code Playgroud)
我需要为 Tilera 添加适当的行,但我不知道指定基于 Tilera 的系统的宏的名称。我猜这个宏是在标准 Linux 头文件之一中定义的,但我不知道要查看哪个。
没有头文件定义它 - 这些宏是由编译器预定义的。要查找预定义宏的完整列表,请执行以下操作:
echo | gcc -E -dM -
Run Code Online (Sandbox Code Playgroud)
然后查看可能的宏的结果。
| 归档时间: |
|
| 查看次数: |
10118 次 |
| 最近记录: |