天天看点

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 跨平台通信集成控制系统----系统硬件信息获取

继续阅读