是否有标准(或半标准,广泛部署)的C宏:
我已经在不同时间看到过这些在专有头文件中定义的内容,但我看到很多样本/教程代码,否则使用“正确”的宏并且没有任何东西 - “6”总是硬编码
FWIW我在linux上。
显然,定义我自己的东西是微不足道的,但我想在可能的情况下使用标准。
答案 0 :(得分:2)
某些平台定义了“/usr/include/net/ethernet.h”,其中包含:
#define ETHER_ADDR_LEN 6
有些平台在if_ether.h
中有类似的定义(位于不同的地方,包括netinet)。
但是,我不知道任何定义“字符串格式化”地址长度的内容,而且我不知道任何强加这些#define
的标准,所以它们可能不是普遍可移植的。