Phiên bản ngắn hơn của câu hỏi:
Mà C tiêu đề chứa các macro tương ứng với kiến trúc máy của hệ thống (ví dụ __x86_64__
, __ia64__
, __mips__
?)
Phiên bản dài hơn của câu hỏi:
Tôi muốn chạy các công cụ giám sát ganglia trên hệ thống dựa trên Tilera chạy Linux.
Ganglia hiện không có hỗ trợ cho Tilera. Để làm việc này, tôi đã sửa đổi một hàm C có tên là machine_type_func trả về kiến trúc máy. Phần thân của hàm này được xác định tại thời gian biên dịch, nó trông như thế này:
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;
}
Tôi cần thêm dòng thích hợp cho Tilera, nhưng tôi không biết tên của macro chỉ định hệ thống dựa trên Tilera. Tôi đoán macro này được định nghĩa trong một trong các tiêu đề Linux tiêu chuẩn, nhưng tôi không biết nên tìm cái nào trong đó.