03 2011 档案

摘要:预处理器 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是... 阅读全文

posted @ 2011-03-20 15:18 道明一腾 阅读(186) 评论(0) 推荐(0) 编辑 |

摘要:简介:良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的接口和用法。动态内存管理内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能:最小化管理内存所需的时间最大化用于一般应用的可用内存(最小化管理开销) 内存管理实际上是一种关于权衡 阅读全文

posted @ 2011-03-11 11:05 道明一腾 阅读(306) 评论(0) 推荐(0) 编辑 |

摘要:循环链表 在循环链表中,可以从任意一个节点P出发找到它的直接前驱,而不是从head出发。其算法C语言描述如下:typedef struct node{ int data; struct node *next;}NODE;NODE *prev(NODE *head,NODE *p){ NODE *q; q=p->next; while(q->next!=p) q=q->next; return (q);}循环链表的其他特性。范例1:将2个线性表链接起来略范例2:将单向循环链表倒置void invert_list(List head){ q... 阅读全文

posted @ 2011-03-09 10:50 道明一腾 阅读(231) 评论(0) 推荐(0) 编辑 |

摘要:链表 树 哈希表 单向链表 1、链表建立typedef struct node{ int data; struct node *next;}NODE;NODE *create(){ NODE *head,*q,*p; char ch; int flag,a; head=(NODE *)malloc(sizeof(NODE)); q=head; scanf("%d",&flag); ch=getchar(); scanf("%d",&a); while(ch!="!") { a!=flag; p=... 阅读全文

posted @ 2011-03-09 10:16 道明一腾 阅读(382) 评论(0) 推荐(0) 编辑 |

摘要:参考了http://www.cnblogs.com/zhouyinhui/archive/2011/01/27/1945911.html。notes:维基一下:http://en.wikipedia.org/wiki/Pythagorean_triple(在维基这方面,国人发现手机网络比家里宽带更能正常显式?)发现构造毕达哥拉斯三元组的方法有很多(值得注意的是,有些方法是构造“原毕达哥拉斯三元组primitive Pythagorean triple (PPT)”的,由PPT可以构造出其他三元组),其中一种方法是这样的:取任意的正整数m, n (m>n)a = m^2 - n^2b = 阅读全文

posted @ 2011-03-06 15:28 道明一腾 阅读(106) 评论(0) 推荐(0) 编辑 |

摘要:该实例建立了一个守护进程,然后让该守护进程每隔5s在“/tmp/dameon.log”中写入一句话。#include<sys/types.h>#include<unistd.h>#include<sys/wait.h>#define MAXFILE 65535int main(){ pid_t pc; int i,fd,len; char *buf="This is a Dameon\n" ; l... 阅读全文

posted @ 2011-03-05 18:52 道明一腾 阅读(260) 评论(0) 推荐(0) 编辑 |

摘要:1、创建子进程,父进程退出 2、在子进程中创建新会话 setsid(1)进程组 (2)会话组 3、改变当前目录为根目录 chdir 4、重设文件权限掩码 umask(0) 5、关闭文件描述符 阅读全文

posted @ 2011-03-05 18:29 道明一腾 阅读(168) 评论(0) 推荐(0) 编辑 |

摘要:发送信号的函数:kill、raise 捕获信号的函数:alarm、pause 设置信号处理的函数:signal 阅读全文

posted @ 2011-03-05 15:38 道明一腾 阅读(126) 评论(0) 推荐(0) 编辑 |

摘要:[转]linux进程间的通信手段 linux下进程间通信的几种主要手段简介: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用.. 阅读全文

posted @ 2011-03-05 15:29 道明一腾 阅读(167) 评论(0) 推荐(0) 编辑 |

摘要:设置串口属性主要就是配置termios结构体中的各个变量,其主要流程包含以下几个步骤: 1、使用函数tcgetattr保存原串口属性。 2、通过位掩码的方式激活本地连接和接受使能选项:CLOCAL和CREAD。 3、使用函数cfsetispeed和cfsetospeed设置数据传输率。 4、通过位掩码设置字符大小。 5、设置奇偶校验位需要用到两个termio中的成员。。。 6、激活c_cflag中... 阅读全文

posted @ 2011-03-05 10:22 道明一腾 阅读(207) 评论(0) 推荐(0) 编辑 |

摘要:今天看到内核中的数据结构,涉及到了链表。参考了http://www.cnblogs.com/newwy/archive/2010/10/10/1847458.html。 阅读全文

posted @ 2011-03-04 13:08 道明一腾 阅读(98) 评论(0) 推荐(0) 编辑 |

摘要:[Project Euler] 来做欧拉项目练习题吧: 题目002 周银辉来看看第二题吧问题描述:Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...By considering the terms in the Fibonacci sequence whose values do not ex 阅读全文

posted @ 2011-03-03 10:40 道明一腾 阅读(127) 评论(0) 推荐(0) 编辑 |

摘要:[Project Euler] 欧拉项目练习题001 周银辉关于Project Euler的一点介绍:哈哈,两个月没更新博客了,因为跑去做Project Euler上的练习题了,非常非常乐意向大家推荐这个网站:http://projecteuler.net/上面有很多题,由浅入深,基本上是由数学与计算机程序相结合来解决问题,非常有意思。另外建议大家在编程时选用C语言,以及尽量不要用库函数(malloc之类少数函数还是必须得使用的)以更好地提高自己的编程能力。当然肯定会有同学会提ACM之类的,恩,萝卜白菜各有所爱啦,反正我更爱Project Euler. 还有就是要持之以恒,我看了下,有十多万注 阅读全文

posted @ 2011-03-03 10:27 道明一腾 阅读(260) 评论(0) 推荐(0) 编辑 |

摘要:[Project Euler] 来做欧拉项目练习题吧: 题目005 周银辉问题描述:2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?(先思考,如果有兴趣先编程试试,然后才看下面的内容)问题分析:求能被1到20的数整除的最小正整数。最直觉的方法 阅读全文

posted @ 2011-03-03 10:08 道明一腾 阅读(198) 评论(0) 推荐(0) 编辑 |

Copyright © 2024 道明一腾
Powered by .NET 8.0 on Kubernetes