2019年4月18日

module_init的加载和释放

摘要: 像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h> 其中,init.h 阅读全文

posted @ 2019-04-18 17:11 怀想天空2013 阅读(418) 评论(0) 推荐(0) 编辑

__attribute__的一些相关属性

摘要: __attribute__((format())) 这个format有3个参数。 int my(NSString *str,NSString *str1,NSArray*str2,...) __attribute__((format(__NSString__,2,4))); 三个参数告诉编译器,第二 阅读全文

posted @ 2019-04-18 16:29 怀想天空2013 阅读(1847) 评论(0) 推荐(0) 编辑

内联函数 —— C 中关键字 inline 用法解析

摘要: 一、什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。 为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈 阅读全文

posted @ 2019-04-18 16:02 怀想天空2013 阅读(700) 评论(0) 推荐(0) 编辑

利用gcc的__attribute__编译属性section子项构建初始化函数表

摘要: gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。 __attribute__的section子项使用方式为: __attribute__((section("section_name"))) 其作用是将作用的函数或数据放入指定名为"se 阅读全文

posted @ 2019-04-18 15:07 怀想天空2013 阅读(701) 评论(0) 推荐(0) 编辑

导航