自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(6)
  • 资源 (3)
  • 收藏
  • 关注

原创 内核驱动开发注意事项

1、内核的栈空间非常小,可能只有4K大小,因此内核函数中尽量不要用递归,不要声明大的临时变量,尽量用堆空间; 2、Documentation/Changes中有构造内核模块之前需要的工具版本;

2017-02-18 23:01:46 361

原创 内核驱动hello world模块

#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "hello, world!\n"); return 0;}static void hello_exit(void){

2017-02-18 22:20:08 219

原创 内核Makefile基本写法

KERN_DIR = /usr/src/$(shell uname -r) //此处为内核树所在目录obj-m := hello.o //此处表示最终由.o文件生成动态加载的模块all: make -C $(KERN_DIR) M=$(shell pwd) modulesclean: make -C $(KERN_DIR) M=$(shell pwd) modules cle

2017-02-18 22:17:03 467 1

原创 Linux编译动态链接库和使用

1、编译动态链接库,将lib_a.c和lib_b.c编译成动态库 lib_common.h#ifndef __LIB_COMMON_H#define __LIB_COMMON_Hvoid liba_printf();void libb_printf();#endiflib_a.c#include <stdio.h>#include "lib_common.h"void liba_printf

2015-12-08 15:07:34 230

原创 Linux系统调用sysconf

1、sysconf背景 现在的计算机一般都是多核的,linux2.6提供了进程绑定cpu功能,将进程指定到某个core上执行,方便管理进程。Linux提供了系统调用sysconf来获取cpu的个数和当前可用的cpu个数。 2、sysconf函数简介 包含头文件unistd.h即可直接调用,原型为: long sysconf(int name);

2015-12-01 15:51:57 400

原创 Linux共享内存示例,使用信号量同步

1、shm_test1.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <stddef.h>#include <errno.h>#include <sys/un.h>#include <sys/types.h>#include <sys/sem.h>#inclu

2015-11-26 16:42:47 1102

windows驱动开发技术详解

张帆编写的windows驱动开发技术详解一书,比较基础,很经典,适合刚接触windows驱动开发的人学习。

2012-06-04

基于Socket编程的微博模拟程序

此程序为一简单的模拟微博的应用程序。程序主要实现三个功能:(1)添加局域网内的活动主机用户为好友;(2)发布新状态,并通知好友;(3)好友更新状态的实时提示。 此程序为南开大学吴功宜老师计算机网络课的第四次作业。

2011-12-15

串口发送和接收的类

VC环境下串口的发送和接收数据的类CSerialPort,直接调用其函数就可实现串口数据的发送和接收。

2011-09-22

空空如也

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

TA关注的人

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