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

找人做彩票网站有哪些青岛网站关键词排名优化

找人做彩票网站有哪些,青岛网站关键词排名优化,智邦国际软件怎么样,flash网站设计概述1.container_of宏 1 Container_of在Linux内核中是一个常用的宏#xff0c;用于从包含在某个结构中的指针获得结构本身的指针#xff0c;通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。2接口#xff1a;container_of(ptr, type, mem…1.container_of宏 1 Container_of在Linux内核中是一个常用的宏用于从包含在某个结构中的指针获得结构本身的指针通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。2接口container_of(ptr, type, member)  ptr:表示结构体中member的地址 type:表示结构体类型 member:表示结构体中的成员通过ptr的地址可以返回结构体的首地址3 container_of的实现 #define container_of(ptr, type, member) ({      \    const typeof( ((type *)0)-member ) *__mptr (ptr);    \    (type *)( (char *)__mptr - offsetof(type,member) );})  其实它的语法很简单只是一些指针的灵活应用它分两步第一步首先定义一个临时的数据类型通过typeof( ((type *)0)-member )获得与ptr相同的指针变量__mptr然后用它来保存ptr的值。说明typeof是GNU C对标准C的扩展它的作用是根据变量获取变量的类型《typeof关键字在linux 内核中很常见》第二步用(char *)__mptr减去member在结构体中的偏移量得到的值就是整个结构体变量的首地址整个宏的返回值就是这个首地址。关于offsetof的用法可参见offsetof宏的使用。 2. 举例来说明container_of的使用 1正确示例: #include stdio.h#define offsetof(TYPE, MEMBER) ((size_t) ((TYPE *)0)-MEMBER)#define  container_of(ptr, type, member) ({                      \                      const typeof( ((type *)0)-member ) *__mptr (ptr);    \                       (type *)( (char *)__mptr - offsetof(type,member) );})struct test_struct {           int num;          char ch;          float f1;  }; int main(void)  {          struct test_struct *test_struct;          struct test_struct init_struct {12,a,12.3};          char *ptr_ch init_struct.ch;          test_struct container_of(ptr_ch,struct test_struct,ch);          printf(test_struct-num %d\n,test_struct-num);          printf(test_struct-ch %c\n,test_struct-ch);          printf(test_struct-ch %f\n,test_struct-f1);          return 0;  }执行结果jibojibo-VirtualBox:~/cv_work/work/list/container_of $ ./maintest_struct-num 12test_struct-ch atest_struct-ch 12.300000 2错误示例#include stdio.h   #define offsetof(TYPE, MEMBER) ((size_t) ((TYPE *)0)-MEMBER)  #define  container_of(ptr, type, member) ({                      \                           const typeof( ((type *)0)-member ) *__mptr (ptr);    \                          (type *)( (char *)__mptr - offsetof(type,member) );})    struct test_struct {           int num;          char ch;          float f1;  };   int main(void)  {          struct test_struct *test_struct;          char real_ch A;          char *ptr_ch real_ch;          test_struct container_of(ptr_ch,struct test_struct,ch);          printf(test_struct-num %d\n,test_struct-num);          printf(test_struct-ch %c\n,test_struct-ch);          printf(test_struct-ch %f\n,test_struct-f1);          return 0;  }执行结果为:jibojibo-VirtualBox:~/cv_work/work/list/container_of1 $ ./maintest_struct-num 0test_struct-ch Atest_struct-ch 0.000000注意由于这里并没有使用一个具体的结构体变量所以成员num和f1的值是不确定的。
http://wiki.neutronadmin.com/news/381821/

相关文章:

  • 长春建站价格网页空间和数据库的区别
  • wordpress网站打不开代理注册公司服务
  • 做网站容易吗网站建设合同 完整版
  • 建设论坛网站步骤网站开发与设计实训实训报告
  • 商务网站开发步骤龙岗英文网站制作
  • 个体工商户可以申请网站建设吗互联网运营自学课程
  • 泉州建设网站制作通过网站做国际贸易的成本
  • 郑州网站建设网站建设西平县建设局网站
  • 100m光纤做网站网站制作软件手机
  • 郑州的网站建设公司哪家好网站 昆明
  • 7天精通网站建设实录百度推广账号
  • 做网站设计哪里有wordpress风格
  • 有人在相亲网站骗人做传销淘宝运营培训机构
  • 佛山网站建设no.1泰安市房产信息网官网
  • 网络公司排名100名网站seo排名优化软件
  • 计算机做网站长沙公共资源交易中心官网
  • 可视化设计最重要的是确定网站的网站前端设计与制作
  • 开封市建设中专网站手机app网站制作
  • 网站底部制作宣传片制作公司前景
  • 樟木头仿做网站公司网站的ftp是什么
  • 手机网站制作代码网赌网站怎么做的
  • 网站 备案简单代码大全
  • 湘乡网站建设举报网站建设自查报告
  • 网站建设注意要求广西区建设厅网站
  • 学做网站论坛注册公司实缴和认缴有什么区别
  • 泗阳做网站做cpa搭建哪个网站比较好
  • 网站推广营销运营方式手机可以看的网站
  • app营销网站建设wordpress 兼容性
  • 关于网站备案的44个问题seo整站优化报价
  • 建购物网站的详细步骤徐州建站模板公司