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

网页设计网站建设的基本流程建个企业网站一年多少钱

网页设计网站建设的基本流程,建个企业网站一年多少钱,红酒 专业 网站建设,惠州哪家做网站好接前一篇文章#xff1a;libdrm全解析三十九 —— 源码全解析#xff08;36#xff09; 本文参考以下博文#xff1a; DRM 驱动程序开发#xff08;VKMS#xff09; 特此致谢#xff01; 前一篇文章讲解完了资源的释放流程中的munmap()和drmIoctl(DRM_IOCTL_MODE_DEST…接前一篇文章libdrm全解析三十九 —— 源码全解析36 本文参考以下博文 DRM 驱动程序开发VKMS 特此致谢 前一篇文章讲解完了资源的释放流程中的munmap()和drmIoctl(DRM_IOCTL_MODE_DESTROY_DUMB)本回讲解drmModeFreeConnector函数。drmModeFreeConnector()与drmModeGetConnector()是一对。 drmModeFreeConnector函数在xf86drmMode.c中代码如下 drm_public void drmModeFreeConnector(drmModeConnectorPtr ptr) {if (!ptr)return;drmFree(ptr-encoders);drmFree(ptr-prop_values);drmFree(ptr-props);drmFree(ptr-modes);drmFree(ptr); } 可见drmModeFreeConnector函数并没有想象中与之专门对应的DRM_IOCTL_MODE_FREE_CONNECTOR宏而是调用了drmFree函数释放了多个分配的空间。 前文讲过drmFree函数在xf86drm.c中代码如下 drm_public void drmFree(void *pt) {free(pt); } 就是free函数的简单封装。 drmModeFreeConnector函数的作用是释放drmModeGetConnector函数中分配的各个空间。 为了便于理解再次贴出drmModeGetConnector函数代码在xf86drmMode.c中如下 /** Connector manipulation*/ static drmModeConnectorPtr _drmModeGetConnector(int fd, uint32_t connector_id, int probe) {struct drm_mode_get_connector conn, counts;drmModeConnectorPtr r NULL;struct drm_mode_modeinfo stack_mode;memclear(conn);conn.connector_id connector_id;if (!probe) {conn.count_modes 1;conn.modes_ptr VOID2U64(stack_mode);}if (drmIoctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, conn))return 0;retry:counts conn;if (conn.count_props) {conn.props_ptr VOID2U64(drmMalloc(conn.count_props*sizeof(uint32_t)));if (!conn.props_ptr)goto err_allocs;conn.prop_values_ptr VOID2U64(drmMalloc(conn.count_props*sizeof(uint64_t)));if (!conn.prop_values_ptr)goto err_allocs;}if (conn.count_modes) {conn.modes_ptr VOID2U64(drmMalloc(conn.count_modes*sizeof(struct drm_mode_modeinfo)));if (!conn.modes_ptr)goto err_allocs;} else {conn.count_modes 1;conn.modes_ptr VOID2U64(stack_mode);}if (conn.count_encoders) {conn.encoders_ptr VOID2U64(drmMalloc(conn.count_encoders*sizeof(uint32_t)));if (!conn.encoders_ptr)goto err_allocs;}if (drmIoctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, conn))goto err_allocs;/* The number of available connectors and etc may have changed with a* hotplug event in between the ioctls, in which case the field is* silently ignored by the kernel.*/if (counts.count_props conn.count_props ||counts.count_modes conn.count_modes ||counts.count_encoders conn.count_encoders) {drmFree(U642VOID(conn.props_ptr));drmFree(U642VOID(conn.prop_values_ptr));if (U642VOID(conn.modes_ptr) ! stack_mode)drmFree(U642VOID(conn.modes_ptr));drmFree(U642VOID(conn.encoders_ptr));goto retry;}if(!(r drmMalloc(sizeof(*r)))) {goto err_allocs;}r-connector_id conn.connector_id;r-encoder_id conn.encoder_id;r-connection conn.connection;r-mmWidth conn.mm_width;r-mmHeight conn.mm_height;/* convert subpixel from kernel to userspace */r-subpixel conn.subpixel 1;r-count_modes conn.count_modes;r-count_props conn.count_props;r-props drmAllocCpy(U642VOID(conn.props_ptr), conn.count_props, sizeof(uint32_t));r-prop_values drmAllocCpy(U642VOID(conn.prop_values_ptr), conn.count_props, sizeof(uint64_t));r-modes drmAllocCpy(U642VOID(conn.modes_ptr), conn.count_modes, sizeof(struct drm_mode_modeinfo));r-count_encoders conn.count_encoders;r-encoders drmAllocCpy(U642VOID(conn.encoders_ptr), conn.count_encoders, sizeof(uint32_t));r-connector_type conn.connector_type;r-connector_type_id conn.connector_type_id;if ((r-count_props !r-props) ||(r-count_props !r-prop_values) ||(r-count_modes !r-modes) ||(r-count_encoders !r-encoders)) {drmFree(r-props);drmFree(r-prop_values);drmFree(r-modes);drmFree(r-encoders);drmFree(r);r 0;}err_allocs:drmFree(U642VOID(conn.prop_values_ptr));drmFree(U642VOID(conn.props_ptr));if (U642VOID(conn.modes_ptr) ! stack_mode)drmFree(U642VOID(conn.modes_ptr));drmFree(U642VOID(conn.encoders_ptr));return r; } 资源释放流程中的其余函数将在后续文章中进行解析。
http://www.huolong8.cn/news/41943/

相关文章:

  • 公司网站服务器租赁计算机有哪些专业
  • 郑州网站开发公wordpress附件上传
  • 免费制作app的手机软件网站优化的图片
  • wix做的网站深圳计算机速成班培训
  • 网站地图怎么弄搜索网站的浏览器
  • 多语言网站系统曙光建设有限公司网站
  • 深圳营销型网站建设哪家好wordpress建立论坛网站
  • 可以做微网站的第三方平台有哪些公司网站后台如何上传视频
  • 建网站流程 知乎寻找常州微信网站建设
  • 淮南家政网站建设地址北京公司注册流程及需要的材料
  • 图书馆网站建设与评价研究福州网站设计软件公司
  • 个人门户网站备案做外贸网站注意事项
  • 京东商城网站建设教程南通网站建设方案
  • 网站建设属于现代服务吗制作宣传图片的软件app
  • 找别人做网站需要注意什么线上营销方式6种
  • 做信息发布类网站用什么语言做什么网站开发最简单
  • 上海网站建设培训sem和seo有什么区别
  • 做教师知识网站有哪些活动策划流程及细节
  • 联通 网站备案什么网站建设策划方案 论文
  • 做一个网站怎么做的宁波市网站建设
  • 个人网站建设联系电话丹阳seo公司
  • 手机网站开发 c做一款网页游戏需要多少钱
  • 微信公众号app下载安装辽宁网络优化方法
  • 微信登录 网站开发刚做的网站怎么才能搜到我
  • 中国移动网站建设情况分析搭建论坛网站的流程
  • 专做充电器的网站注册公司流程和费用
  • 微信开放平台官方网站学前端有必要找培训机构吗
  • 建设网站公开教学视频dede无法一键更新网站
  • 网站自动发送邮件wordpress主題改豎文
  • 保山公司做网站网页开发哪家好