- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 linux下链表实现的一些思考
看过linux的链表实现的方法,都知道用的很巧妙,尤其是list_entry宏的定义更是充分运用了C语言指针的灵活性。下面是具体的宏定义list_entry()宏#define list_entry(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
2013-05-12 15:27:06 512
转载 linux下的僵尸进程处理办法
什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wai
2013-05-12 09:46:59 867
原创 百度之星4月27日题目一
题目是:小H是一个程序员。但是他很喜欢一些新奇的东西。有一次,他去找物理实验室的朋友玩。他见到了一串非常有意思的粒子。N个粒子排成一排。每一秒中,每一段连续的粒子中会随意有一个爆炸,爆炸后该粒子就消失了,且将原来连续的一段粒子分隔成两段。小H希望知道所有粒子都爆炸完的期望时间。Input 第一行为一个整数T(1 每组
2013-04-28 08:24:22 605
原创 微信的软件设计使用思考
微信进入后的主界面采用的是竖排列表的主操作界面,个人感觉这样的一个操作界面最系统的信息组织的可扩展性相对而言比较弱了,包括新浪微博的android客户端也是,基本就是一个粗制滥造的android客户端,android应用程序要精简但却不能粗制滥造,微信和微博客户端有庞大的基础用户群,说以这一方面的劣势并不是很凸显,用户也不会太苛求手机上能有什么太劲爆的亮点,应用程序的重点都在用户的痛点上去琢磨。但
2013-04-15 10:37:12 1063
原创 linux下IO口模拟I2C的一些总结
以前一直在用I2C接口,因为总是有线程的例子就一直没有去深入的了解,今天分析了一下在linux下通用GPIO模拟I2C的程序。I2C的驱动是用杂项设备实现的,这也是一种比较简单的实现方式。通过 misc_register(&mygpioi2c_dev);来注册自己的杂项设备,此函数中会自动创建设备节点,即设备文件。无需mknod指令创建设备文件。因为misc_register()会调用class_
2012-12-17 16:51:00 1804 1
原创 嵌入式开发问题的个人总结
做项目有一年了,总感觉少了点什么,可能缺乏一个知识的管理吧,所以决定以后多写博客了,首先还是做个自我检讨吧。之前做过一些arm cortexM3 的一些项目。算是一些小项目吧,在开发过程中经常会遇到一些头疼的问题。有一些问题动不动就会犯,比如内存泄漏,指针越界,这些问题要是多留心排查起来也不难,但有时不太注意那些warning经常会让自己在一些个小问题上花半天功夫去排查,很多细节问题也没有及时记录
2012-12-11 19:08:03 475
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人