当前位置: 首页 > news >正文

著名网站用什么语言做后台工商年报网上申报系统官网

著名网站用什么语言做后台,工商年报网上申报系统官网,怎么做网页站点,iis网站301重定向Android HAL层#xff0c;即硬件抽象层#xff0c;是Google响应厂家“希望不公开源码”的要求推出的新概念 1#xff0c;源代码和目标位置 源代码#xff1a; /hardware/libhardware目录,该目录的目录结构如下#xff1a; /hardware/libhardware/hardware.c编译成libha…Android HAL层即硬件抽象层是Google响应厂家“希望不公开源码”的要求推出的新概念 1源代码和目标位置 源代码 /hardware/libhardware目录,该目录的目录结构如下 /hardware/libhardware/hardware.c编译成libhardware.so目标位置为/system/lib目录 /hardware/libhardware/include/hardware目录下包含如下头文件 hardware.h 通用硬件模块头文件 copybit.h copybit模块头文件 gralloc.h gralloc模块头文件 lights.h 背光模块头文件 overlay.h overlay模块头文件 qemud.h qemud模块头文件 sensors.h 传感器模块头文件 /hardware/libhardware/modules目录下定义了很多硬件模块 这些硬件模块都编译成xxx.xxx.so目标位置为/system/lib/hw目录 2HAL层的实现方式 JNI-通用硬件模块-硬件模块-内核驱动接口 具体一点JNI-libhardware.so-xxx.xxx.so-kernel 具体来说android frameworks中JNI调用/hardware/libhardware/hardware.c中定义的hw_get_module函数来获取硬件模块 然后调用硬件模块中的方法硬件模块中的方法直接调用内核接口完成相关功能 3,通用硬件模块(libhardware.so) (1)头文件为/hardware/libhardware/include/hardware/hardware.h 头文件中主要定义了通用硬件模块结构体hw_module_t声明了JNI调用的接口函数hw_get_module hw_module_t定义如下 typedef struct hw_module_t { /* tag must be initialized to HARDWARE_MODULE_TAG / uint32_t tag; /** major version number for the module */ uint16_t version_major;/** minor version number of the module */ uint16_t version_minor;/** Identifier of module */ const char *id;/** Name of this module */ const char *name;/** Author/owner/implementor of the module */ const char *author;/** Modules methods */ struct hw_module_methods_t* methods; //硬件模块的方法/** modules dso */ void* dso;/** padding to 128 bytes, reserved for future use */ uint32_t reserved[32-7];} hw_module_t; 硬件模块方法结构体hw_module_methods_t定义如下 typedef struct hw_module_methods_t { /* Open a specific device / int (open)(const struct hw_module_t module, const char* id, struct hw_device_t** device); } hw_module_methods_t; 只定义了一个open方法其中调用的设备结构体参数hw_device_t定义如下 typedef struct hw_device_t { /* tag must be initialized to HARDWARE_DEVICE_TAG / uint32_t tag; /** version number for hw_device_t */ uint32_t version;/** reference to the module this device belongs to */ struct hw_module_t* module;/** padding reserved for future use */ uint32_t reserved[12];/** Close this device */ int (*close)(struct hw_device_t* device);} hw_device_t; hw_get_module函数声明如下 int hw_get_module(const char *id, const struct hw_module_t **module); 参数id为模块标识定义在/hardware/libhardware/include/hardware目录下的硬件模块头文件中 参数module是硬件模块地址定义了/hardware/libhardware/include/hardware/hardware.h中 (2)hardware.c中主要是定义了hw_get_module函数如下 #define HAL_LIBRARY_PATH /system/lib/hw static const char *variant_keys[] { “ro.hardware”, “ro.product.board”, “ro.board.platform”, “ro.arch” }; static const int HAL_VARIANT_KEYS_COUNT (sizeof(variant_keys)/sizeof(variant_keys[0])); int hw_get_module(const char *id, const struct hw_module_t **module) { int status; int i; const struct hw_module_t *hmi NULL; char prop[PATH_MAX]; char path[PATH_MAX]; for (i0 ; i #define HAL_MODULE_INFO_SYM HMI #define HAL_MODULE_INFO_SYM_AS_STR HMI 4,硬件模块 硬件模块的开发主要是完成/hardware/libhardware/include/hardware目录下对应的头文件中的内容主要是硬件模块头文件和hardware.h中 的结构体中定义了一些函数指针调用内核提供的接口将具体的函数实现然后编译成指定名称的动态链接库放到/system/lib/hw目录下即可。 用一句话来概括硬件模块的开发就是定义一个hardware.h中定义的hw_module_t结构体结构体名称为宏HAL_MODULE_INFO_SYM然后实现结构体 的相关内容即可。 5,内核驱动 主要是要向用户层开放接口让硬件模块和内核可以交互。
http://www.yutouwan.com/news/160248/

相关文章:

  • 外贸网站英文版滑块验证wordpress
  • 网站建设后帐号密码wordpress 不要可视化
  • 公司备案网站被注销吗泊头网站排名优化
  • 如何免费建一个学校网站国内规模大的建站公司
  • ASP.NET与网站开发编程实战沧浪手机网站建设方案
  • 一个网站的后台怎么做衡水提供网站设计公司哪家专业
  • 莱芜租房网站网站建设需要什么知识
  • 网站维护技术常用个人网站
  • 做柜子喜欢上哪些网站看满分企业网
  • 聊城网站推广的公司中国建筑机械网
  • 沈阳企业网站开发定制更换网站程序
  • 济南网站关键词优化公司wordpress插件写在模板里
  • 石家庄建设网站公司哪家好最新新闻热点作文素材
  • 贵阳网站定制建设开发 首商网洛阳网站建设内容
  • 沈阳模板建站软件网站建设流程报告
  • 深圳网站建设联系方式wordpress文章时间轴
  • 做化妆品注册和注册的网站企石镇做网站
  • 网站建设的基本过程包括自己做图片网站
  • 百度云盘做网站网站建设咨询公
  • 赤峰住房城乡建设部网站太原企业网站seo
  • 网站开发我嵌入式开发建设门户网站申请
  • 网站制作电话多少昆明免费网站制作
  • 山东做网站公司哪家好国内新闻热点事件
  • 网站建设编程怎么写做视频推广有哪几个网站
  • 展示型企业网站设计方案茶叶门户网站建立
  • 网站建设所需要的技术冯耀宗seo视频教程
  • 网站企业快速备案韩国优秀网站设计欣赏
  • 宁波做网站哪家好定制家具网
  • 做网站的又营业执照的吗网站开发 asp.net php
  • 京东网站建设目标a5网站诊断