【问题标题】:Mac Address - C++ - Platform independentMac 地址 - C++ - 平台无关
【发布时间】:2019-07-07 10:39:06
【问题描述】:

我正在尝试使用 C++ 程序生成 Mac 地址。我在网上找到了几个例子,但它们是特定于操作系统的。是否有可能使用与平台无关的代码生成 Mac Id。 请指导。

问候, 斯里坎特

【问题讨论】:

  • 生成或获取机器当前安装的网络适配器的地址?

标签: c++ network-programming


【解决方案1】:

这超出了标准 C++ 的范围,所以不,严格来说,不存在独立于平台的方法。最好的办法是找到一个库,该库包含您关心的所有平台的特定于操作系统的功能,或者自己#ifdef。

这是假设您的意思是您需要获取真实网络设备的 MAC 地址。如果您只是需要伪造一些看起来像任何旧 MAC 地址的东西,这里的其他答案也适用。

【讨论】:

    【解决方案2】:

    MAC 地址只是一个 48 位数字。生成一个最简单的方法是取一个 32 位和一个 16 位随机数并将它们放在一起。注意:这当然会生成无效的 MAC 地址,或者您的网络上已经在使用的地址。

    【讨论】:

    • 我使用程序 wxwidgets.info/… 得到了 macid,稍作修改。但是在 windows 下使用 g++ 编译时,它无法链接 uuid 库并抛出对 `_UuidCreate@4' 的未定义引用。有没有办法让我在 Windows 下使用 g++(cygwin 或 mingw environmant)获得 macid。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2011-06-17
    相关资源
    最近更新 更多