2

是否有标准(或半标准、广泛部署的)C 宏用于:

  1. 格式为 00:11:22:33:44:55 的 MAC 地址长度,即 17 个字节。
  2. 原始 MAC 的长度,即 6 个字节。

我曾多次在专有头文件中看到这些定义,但我看到很多示例/教程代码,否则它们使用“正确”宏并且没有任何内容——“6”总是硬编码的。

FWIW我在Linux上。

显然,定义我自己的标准是微不足道的,但我想尽可能使用标准。

4

1 回答 1

3

一些平台定义了一个“/usr/include/net/ethernet.h”,它执行以下操作:

#define ETHER_ADDR_LEN 6

if_ether.h并且一些平台在(位于各个地方,包括netinet)中有类似的定义。

但是,我不知道定义“字符串格式”地址长度的任何内容,并且我不知道任何强加这些#defines 的标准,因此它们可能不是普遍可移植的。

于 2012-04-05T18:29:33.937 回答