欢迎来到kaffeel的博客

点滴积累,快乐分享-kaffeel.org
  首页  :: 新随笔  :: 订阅 订阅  :: 管理

2013年5月28日

摘要: 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用”::” 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、如何引用一个已经定义过的全局变量? 答:extern 可以用引用... 阅读全文

posted @ 2013-05-28 12:29 kaffeel 阅读(290) 评论(0) 推荐(0) 编辑

摘要: Linux内核为了实现模块化,需要提供一个公共的内核符号表,它包含了所有的全局内核项(函数以及变量)的地址。当模块加载到内核中后,它所导出的任何符号都将成为内核公共符号表的一部分。内核模块只需要实现自己的功能而无需导出任何符号,但这样其他模块将无法使用该模块的功能, 一个新的模块可以使用自己其他模块导出的符号,这样可以实现在其他模块的基础上层叠新的模块,如msdos文件系统依赖于由fat模块导出的... 阅读全文

posted @ 2013-05-28 03:45 kaffeel 阅读(947) 评论(0) 推荐(0) 编辑

摘要: 在学习Linux驱动开发之前,有必要了解内核模块与应用程序之间的各种不同点。首先,应用程序(一般的小应用)是从头到尾执行单个任务,而模块是将自己预先注册到内核中一便于为将来某个请求服务。当注册模块时,只是执行其初始化函数,为其后续运行做好准备工作后就立即结束。换句话说,模块的注册时告诉内核:“我在这里,并且我可以干这些工作,以后有这类工作可以找我做。”模块的退出函数是在模块被卸载之前执行的,它告诉... 阅读全文

posted @ 2013-05-28 03:12 kaffeel 阅读(1041) 评论(0) 推荐(0) 编辑