一直都觉得双向链表在内核中非常重要。
双向链表最主要的就是用了container_of这个宏。
而container_of又是建立在typeof的基础之上的。
没有typeof,就没有container_of,双向链表,就没有max,mix这些宏,就没有...
linux内核将typeof已经发挥到极致了。
container_of中包含的面向对象的思想。
min,max包含的泛型设计的思想。
C++所推崇的两大思想在linux内核中全都得到了体现。
有时候我想,在没有遇到linux内核之前,我如果看到了typeof能否将typeof用的这么神奇?
用不了这么神奇,typeof在我眼中也仅仅是typeof而已。也只不过是能取到变量类型的一个关键字而已。
linux内核的学习无非就是先会用,不会用的话就看源码,再去用,还不会再去看源码,等到会用的时候就不能仅仅停留在用的阶段了。
要学会发现美,内核之美。 学习linux内核中所包含的设计思想,谈哲学你我可能都还不够格,我们没有所谓哲学修养,但你我都是有思想的。
学习就是不断的完善自我,取彼之长,补已之短而已。学内核的一个目的就是学习其技巧与思想。
也许你今天可以依照ldd3写出一个字符设备,但是你是否总感觉不踏实?总感觉捅不破那层纸?
学习吧。为了捅破这层纸,请以原码为师,只有深入到源码的层次,你才能真正体会到内核之美,否则谈架构谈框架都是镜花水月。
分享到:
相关推荐
JS中typeof与instanceof的区别
本文描述了,gcc编译器扩展的typeof运算的用法。
可以直接使用VS打开直接...1、typeof - 返回值有六种可能:"number," "string," "boolean," "object," "function," 和 "undefined." 2、所以,typeof函数不仅可以判断某一个变量的类型,还是可以判断一个变量是否存在
前端开源库-drop-babel-typeof删除babel typeof,在不使用符号时删除恼人的(…)污染类型。
JavaScript typeof, null, 和 undefined JavaScript typeof, null, undefined, valueOf()。 typeof 操作符 你可以使用 typeof 操作符来检测变量的数据类型。 实例 typeof "John" // 返回 string typeof 3.14...
输入类型允许将您的值与代表... // 'object'null instanceof Object //false [有趣的事实] Object.prototype与具有typeof和instanceof的null的结果相同正则表达式使用正则表达式文字,有人会希望typeof返回一个特定的值
NULL 博文链接:https://onestopweb.iteye.com/blog/2327118
下面是Linux内核源代码中一个关于typeof实例: #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) 1.当x的类型...
JS:typeof instanceof constructor prototype区别
日期类型的验证和校验,typeof一般是不管用的 这个文档提供了有效的方法来进行日期验证
typeof,编译时获取表达式类型运算符,是gcc编译器的一个扩展(intel编译器 也支持). 笔者最近作一个项目时需要用比较hack的手段把第三方的dll(无lib但有头文件)里面的外部函数以函数指针的方式提取出来给其他模块作...
= “undefined”){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。 如果我们希望获取一个对象是否是数组,或判断某个变量是否...
一个是 typeof 一个就是三元运算符 看完了上面的文章再看下面的就比较好理解了 一般来说常用的函数代码 function $(id){ return typeof id==='string'?document.getElementById(id):id;} var GetBy = function (id...
如果该值是原始类型,则返回true 。 请考虑关注该项目的作者 ,并考虑为该项目以显示您的 :red_heart: 和支持。 安装 使用安装: $ npm install --save is-primitive 原始值 定义了六种基本类型的数据类型: ...
需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!=undefined) 以前用得少,就顺便查了一下关于typeof的那些事 typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果:...
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。 它返回值是一个字符串...
typeof 返回变量的类型字符串值 、其中包括 “object”、“number”、“string”、“undefined”、“boolean”。这篇文章重点给大家介绍ECMAScript typeof用法,需要的朋友参考下
对一个值使用typeof操作符可能返回下列某个字符串:“undefined”——如果这个值未定义“boolean”——如果这个值是布尔值“string”——如果这个值是字符串“number”——如果这个值是数值“object”——如果这个是...
js代码-typeof类型