Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册
  • 博客访问: 3083902
  • 博文数量: 99
  • 博客积分: 671
  • 博客等级: 上尉
  • 技术积分: 24064
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-18 16:08
个人简介

www.kernel.org

文章分类

全部博文(99)

文章存档

2016年(1)

2015年(3)

2014年(14)

2013年(21)

2012年(60)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

发布时间:2016-07-20 20:41:07

鉴于最近CU频繁丢失blog、向客服反应多次均未收到任何回复的现状,为了避免本博客更多现有及后续博文有可能面临的丢失的风险,现将本人所有CU博文暂时搬到CSDN,本博客暂停更新。为各位CUer带来的不便敬请谅解,后续博文的更新,大家可以访问本人CSDN博客:http://blog.csdn.net/wjlkoorey.........【阅读全文】

阅读(3586) | 评论(3) | 转发(0)

发布时间:2015-05-06 23:55:28

    对照前面介绍过的内核通知链、链表,本章我们将要介绍的哈希表的初始化和定义也是如出一辙的:点击(此处)折叠或打开 定义并初始化一个名为name的哈希链表表头 #define HLIST_HEAD(name) struct hlist_head name = { .first = NULL }.........【阅读全文】

阅读(6375) | 评论(3) | 转发(10)

发布时间:2015-04-20 22:50:31

关于哈希表,在内核里设计两个很重要的数据结构:   哈希链表节点: 点击(此处)折叠或打开 /*Kernel Version : 3.4.x [include/linux/types.h]*/ struct hlist_node {    struct hlist_node *next, **pprev;}; .........【阅读全文】

阅读(9162) | 评论(8) | 转发(25)

发布时间:2015-01-07 20:29:38

    新年第一帖,总得拿出点干货才行,虽然这篇水分还是有点大,大家可以晒干了温水冲服。这段时间一直在整理内核学习的基础知识点,期间又碰到了container_of()这个宏,当然还包括一个叫做offsetof()的家伙。在这两个宏定义里都出现将“零”地址强转成目标结构体类型,然后再访问其成员属性的情形。如果有童鞋看.........【阅读全文】

阅读(7524) | 评论(3) | 转发(10)

发布时间:2014-12-28 18:51:15

    关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型。至于链表的遍历,内核也有一组基本的接口(其实都是宏定义的)供开发者调用。    首先是list_for_each(pos,head),.........【阅读全文】

阅读(7688) | 评论(8) | 转发(9)
给主人留下些什么吧!~~

紫奇缘2015-08-03 13:26

wjlkoorey258:正解
其实考察的就是函数指针的定义和用法,没啥好多说的
typedef void(*memset_f)(void*,int,size_t);


谢了!!

回复  |  举报

紫奇缘2015-08-03 13:24

wjlkoorey258:这位朋友你好,好久没来CU了,不知道这个迟来的解释对你还有用没:

#define preg(a) printf("%s:%s",!strcmp(a,"123")?"abc":a,"123",a)

谢了,不晚。

回复  |  举报

wjlkoorey2582015-07-29 10:01

HappyAndrew:memset_f定义成memset函数的原型

正解
其实考察的就是函数指针的定义和用法,没啥好多说的
typedef void(*memset_f)(void*,int,size_t);

回复  |  举报

wjlkoorey2582015-07-29 09:59

紫奇缘:请问大神在横线上填什么使得结果为abc:123demo:123谢谢!!!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define preg(a) printf("%s:%s",__,a)
int main()
{
    char abc[]={"123"};
    char demo[]={"demo"};
    preg(abc); 
    preg(demo); 
    printf("\n");
    return 0;

}

这位朋友你好,好久没来CU了,不知道这个迟来的解释对你还有用没:

#define preg(a) printf("%s:%s",!strcmp(a,"123")?"abc":a,"123",a)

回复  |  举报

HappyAndrew2015-06-13 12:58

紫奇缘:求大神帮助,在横线上填什么使得结果是12121212谢谢!!!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef ___
int main()
{
   int a;
   memset_f func;
   func=memset;
   a=0;
   (void)func(&a,0x12,sizeof(0));
   printf("%x",a);
   return 0;
}

memset_f定义成memset函数的原型

回复  |  举报
留言热议
请登录后留言。

登录 注册