2012-03-05 32 views
2

我想用C++程序生成Mac地址。我在網上發現了很多例子,但它們都是針對操作系統的。是否有可能使用獨立於平臺的代碼生成Mac Id。 請指導。Mac地址 - C++ - 與平臺無關

問候, SRIKANTH

+4

*生成*或*獲取*當前安裝在機器中的網絡適配器的地址? – user7116 2012-03-05 15:34:10

回答

1

A的MAC地址僅僅是一個48比特數。生成一個最簡單的方法是取一個32位和一個16位隨機數並放在一起。注意:這當然會產生無效的MAC地址或網絡中已經使用的地址。

+0

我使用程序http://wxwidgets.info/cross-platform-way-of-obtaining-mac-address-of-your-machine/進行了微小的修改。但是,在Windows下使用g ++進行編譯時,它無法鏈接uuid庫並將未定義的引用引發至'_UuidCreate @ 4'。有沒有辦法讓我在windows下使用g ++(cygwin或mingw environmant)來使用macid。謝謝 – Srikanth 2012-03-07 11:39:02

3

這不在標準C++的範圍之內,所以沒有,嚴格來說,沒有一個獨立於平臺的方法。你最好的選擇是找到一個庫,它爲你所關心的所有平臺包裝了操作系統特有的功能,或者#ifdef它自己。

這是假設你的意思是你需要獲得一個真實的網絡設備的MAC地址。如果你只需要僞造一些看起來像任何舊MAC地址的東西,其他答案就適用。

1

我猜你的意思是獲得而不是生成。嘗試檢出this link

+0

我已經使用這個http://wxwidgets.info/cross-platform-way-of-obtaining-mac-address-of-your-machine/並且能夠在Linux上獲得mac id。 – Srikanth 2012-03-07 11:36:20