摘要: memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组, c:是赋给buffer的值, count:是buffer的长度. 这个函数在socket中多用于清空数组.如:原型是memset(buff 阅读全文
posted @ 2016-05-04 21:06 fengdeyingzi 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 退出程序 : Alt+F4 重画屏幕 : Ctrl+Alt+Space 显示选择框: Ctrl+E 复制一行 (选定一行): Ctrl+K 恰好复制该位置右边的该行的字符 : Ctrl+Shift+K 复制到剪贴板 : Ctrl+Del 剪切一行 : Ctrl+U 剪切该位置右边的该行的字符 : C 阅读全文
posted @ 2016-05-04 21:02 fengdeyingzi 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 在应用程序中,常使用malloc函数进行动态内存分配,而在Linux内核中,通常使用kmalloc来动态分配内存。 kmalloc 原型是:#include <linux/slab.h>void *kmalloc(size_t size, int flags) 参数:size:要分配的内存大小。fl 阅读全文
posted @ 2016-05-04 20:41 fengdeyingzi 阅读(461) 评论(0) 推荐(0) 编辑
摘要: Printk与Printf对比: 相同点: 打印信息 不同点: Printk在内核中使用,Printf在应用程序中使用 Printk允许根据严重程度,通过附加不同的“优先级”来对消息分类。 在<linux/kernel.h>中定义了8种记录级别。按照优先级递减的顺序分别是: KERN_EMERG “ 阅读全文
posted @ 2016-05-04 19:29 fengdeyingzi 阅读(371) 评论(0) 推荐(0) 编辑
摘要: EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的。2.6就必须用EXPORT_SYMBOL() 来导出来(因为2.6默认不导出所有的符号)。 1、EXPORT_SYMBOL 阅读全文
posted @ 2016-05-04 18:55 fengdeyingzi 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 1、许可证申明 MODULE_LICENSE 用来告知内核, 该模块带有一个许可证,没有这样的说明,加载模块时内核会抱怨。 有效的许可证有"GPL“、"GPL v2"、"GPL and additional rights"、"Dual BSD/GPL"、"Dual MPL/GPL"和"Proprie 阅读全文
posted @ 2016-05-04 16:48 fengdeyingzi 阅读(121) 评论(0) 推荐(0) 编辑