自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 linux内核中的container_of宏

//xk> 引子         首先看一个简单的面试题:定义一个宏FIND(stru, e),求结构体stru中某个成员e相对于stru的偏移量。         题目的解答很简单: #define FIND(stru, e) &(((stru *)0)->e) 将常量0强制类型转化为stru *类型的指针。因为结构体的首地址为0,所以其成员的地址即为相对于结构体的偏移量。

2012-07-03 22:11:31 983

原创 extern关键字

extern关键字最原始的用处是变量声明,这里不细说。         //xk> 在C++程序中调用C编译器编译的函数         我们知道,在C++程序中可以直接调用C语言写的函数,不仅在语法上C++编译器基本可以编译C程序,而且C++程序还可以调用C编译器编译好了的函数,不过要加上extern "C".         因为C++支持函数重载,这就造成C++编译器和C编译器

2012-07-02 14:56:13 732

原创 面试题:两个变量的最大值、最小值和变量交换

//xk> 例题         【题目】不用if, ?: , switch等判断语句,找出两个给定变量中的最大值和最小值         【解答】要注意直接a + b可能导致溢出。         下面的解答来自《程序员面试宝典》第二版,很明显存在溢出问题。不过这种思路有点意思。 int max = (a + b + abs(a - b)) >> 1; int min = (a +

2012-07-02 14:43:15 3062

原创 面试题:二进制表示中1的个数。

//xk> 例题         【题目】用一个表达式判断一个数X是否是2的N次方。不能用循环语句。         【解答】在面对很多问题的时候,人与人之间的差距不仅仅表现在聪明才智,更表现在专业程度。或言之,绝对智商上差距的影响是微乎其微的,绝大程度上是依赖于:是否更加经验丰富,是否更加训练有素。         就像这个题目,知道的人就知道是一个很小的技巧,第一次见的人就很可能想破脑袋

2012-07-02 14:06:37 698

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除