casio1374633

导航

 
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页

2013年4月28日

摘要: 本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程 很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。 刚看 O'REILLY 写的《LINUX 设备驱动程序》时。作者一再强调在编写驱动程序时必须 建立内核树。所谓内核树,我的理解和网上资料说的一致就是内核源码的一种逻辑形式。那怎么建立呢?为此上网“翻云覆雨”起来而结果却是“惨败而归“。 为此托了一天又4个小时(当然包括吃饭睡觉的时间),连个简单的 hello wrold 都没实现。(书中p22页最 阅读全文
posted @ 2013-04-28 09:46 casio1374633 阅读(556) 评论(0) 推荐(0) 编辑
 
摘要: 在写一个练习时候出现的.觉得奇怪,因为翻译说缺少哨兵??什么意思呢...=====================================/*//练习如下,创建一个进程*/#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(void){ printf("Running ps with execlp\n"); execlp("ps", "ps", "-ax", 0); /*<----错误出现 阅读全文
posted @ 2013-04-28 09:44 casio1374633 阅读(487) 评论(0) 推荐(0) 编辑
 
摘要: 是不是只有编译的时候才知道程序写了错误?有没有在未编译的时候就让机器帮你检查错误的工具呢?答案是:有!!splint工具.用一个最简单的HELLO WORLD来表述:=====================================/*错误很明显*/#include <stdio.h>int main(void){ print("hello world\n", s); return}-----------------------------------------------------casio$ splint -strict foo.c Splint 阅读全文
posted @ 2013-04-28 09:43 casio1374633 阅读(265) 评论(0) 推荐(0) 编辑
 
摘要: gcc -MM 自动生成依赖关系.比如gcc -MM *.c. 能看到一堆输出.依赖都给你写好.真方便.示例如下:=========================casio$ gcc -MM *.c2.o: 2.c a.h b.h3.o: 3.c b.h c.hfoo.o: foo.cimport1.o: import1.cimport2.o: import2.cimport3.o: import3.cmain.o: main.c a.h对应的一个更好的程序是makedepend, 直接添加进Makefile====================================patch. 阅读全文
posted @ 2013-04-28 09:41 casio1374633 阅读(337) 评论(0) 推荐(0) 编辑
 
摘要: 学习内存管理时候,看到linux内核管理内存分配的部分,进行的小试验:一个程序能分配到多少内存呢?在一台物理内存1G, swap有512M的机器上的试验.分配到800多开始,硬盘开始转动.明显慢下来了.机器也会有点卡起来.最后的结果:Now allocated 1100 MegabytesNow allocated 1101 MegabytesNow allocated 1102 MegabytesNow allocated 1103 MegabytesCommand terminated by signal 90.20user 2.54system 1:17.39elapsed 3%CPU 阅读全文
posted @ 2013-04-28 09:40 casio1374633 阅读(262) 评论(0) 推荐(0) 编辑
 
摘要: 说是过几天到水利研究所参加连调,可惜这几天等着一点信号也没有,有点慢下来了.搞搞自己的...实验室的arm开发箱虽然样子很大,但是一个开发箱居然都不给原理图.这让人怎么搞啊,想编译个内核,发现连液晶是哪个公司的型号都不知道...还是一步一步来吧...有C8051F做arm的过渡我感觉还不错哈...晚上回来早点.继续上次的学习.fwrite和write,一个是标准I/O,一个是底层调用.谁快呢?我起初觉得即然用底层调用应该是很快的.不过实践是检验真理的好办法.下面给出实际测试情况:先上fwrite:===========================代码:------------------- 阅读全文
posted @ 2013-04-28 09:39 casio1374633 阅读(3542) 评论(0) 推荐(0) 编辑
 
摘要: 学习中了解到,文件复制和文件块写操作.CPU在复制过程中操作一次read和write都会进行一次系统调用,那么字符写和块写的差别有多大呢?代码:==================================================字节操作:/*--------------------------------------------//写入1K大小的文件,文件内容为空.当然,稍作修改,可以复制任意字符.不论I/O//测试速度://Char creat complete!//0.00user 0.00system 0:00.02elapsed 38%CPU (0avgtext+0av 阅读全文
posted @ 2013-04-28 09:38 casio1374633 阅读(188) 评论(0) 推荐(0) 编辑
 
摘要: 链接地址:www.yuanma.org/data/2007/0501/article_2562.htm今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另 阅读全文
posted @ 2013-04-28 09:35 casio1374633 阅读(133) 评论(0) 推荐(0) 编辑
 
摘要: 今天在图书馆看到的,开始看起来,觉得挺不错,也开始了这本书的读书笔记了.本来想晚上回来打到博客里面,后来想,又不是我的原创,不过一点笔记而已,并且还不知道对不对,贴出来反而对看官产生了误导.所以作罢.这书真挺不错的.觉得从一些思维的角度来帮助程序员写出健壮的代码,当然,还包括如何与他人合作的一些建议.毕竟在现实社会中,不是所有的程序员都是十分优秀的,同样,也不是每个用户都是善意的.希望自己能成为一名合格的C语言程序员. 阅读全文
posted @ 2013-04-28 09:33 casio1374633 阅读(153) 评论(0) 推荐(0) 编辑
 
摘要: 不好意思,我就这么无耻的转过来了.原文出处:hi.baidu.com/way168/blog/item/ed1a87440c989748510ffeeb.htmlCRC(Cyclic Redundancy Check)校验应用较为广泛,以前为了处理简单,在程序中大多数采用LRC(Longitudinal Redundancy Check)校验,LRC校验很好理解,编程实现简单。用了一天时间研究了CRC的C语言实现,理解和掌握了基本原理和C语言编程。结合自己的理解简单写下来。 1、CRC简介 CRC检验的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定... 阅读全文
posted @ 2013-04-28 09:32 casio1374633 阅读(445) 评论(0) 推荐(1) 编辑
 
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页