[英]IOKit header assert.h gone?
我想獲取我的Mac以太網卡的硬件地址。 我在IOKit / assert.h中的include中看到的所有示例中。 在我的系統上似乎不存在。 GCC拋出錯誤,說他不知道IOEthernetAddress類型。 我的任務需要assert.h嗎? 如果有人願意給我一個工作樣本,那就太好了。 [編輯]這是我的代碼,認為這將有助於理解問題:
#include <IOKit/assert.h>
#include <IOKit/network/IOEthernetController.h>
#include <IOKit/network/IOEthernetInterface.h>
int main(){
IOEthernetAddress addr;
getHardwareAddress(&addr);
printf("%x", addr);
return 0;
}
您必須嘗試從用戶空間執行此操作; 如果您正在編寫內核,則不會使用main()。 但是,這些是內核包含文件。 從用戶空間執行此操作的一種方法是查看I / O注冊表,並找到您感興趣的硬件的IOMACAddress。 首先,請看一下I / O Registry Explorer。
另一種方法是將ioctl與SIOCSIFLLADDR一起使用,以獲取鏈接級地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.