天天看點

windows linux—unix 跨平台通信內建控制系統----系統硬體資訊擷取

控制內建系統需要了解系統的各項硬體資訊,之前我們設計的時候,習慣使用c函數來搞,後來可能發現程式的移植性收到了一些影響,比如unix核心的一些c函數在linux下面是沒有的:

比如

蘋果達爾文核心的如下東西,linux裡面就沒有:

 //kern_return_t kr;

    //host_name_port_t myhost;

   // kernel_version_t kversion;

   // host_basic_info_data_t hinfo;

   // mach_msg_type_number_t count;

    char            *cpu_type_name,*cpu_subtype_name;

   // vm_size_t  page_size;

   // myhost = mach_host_self();

   // kr = host_kernel_version(myhost, kversion);

   // count = HOST_BASIC_INFO_COUNT;

   // kr = host_info(myhost, HOST_BASIC_INFO, (host_info_t)&hinfo, &count);

   // kr = host_page_size(myhost, &page_size);                                               //

是以換一種思路我們考慮使用,shell指令擷取資訊,完後進行字元處理,這樣即使換了系統,我們代碼裡面換換shell指令就可以了。

使用到的一些結構體跟宏定義:

下面是代碼:

Systeminfo.h

實作:

搭建傳輸的socket平台參考下面博文:

<a target="_blank" href="http://blog.csdn.net/wangyaninglm/article/details/41940287">http://blog.csdn.net/wangyaninglm/article/details/41940287</a>

實作效果:

windows linux—unix 跨平台通信內建控制系統----系統硬體資訊擷取

繼續閱讀