2011年3月20日

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

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


2011年3月11日

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

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


2011年3月9日

摘要: 循环链表 在循环链表中,可以从任意一个节点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 道明一腾 阅读(234) 评论(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 道明一腾 阅读(387) 评论(0) 推荐(0) 编辑


2011年3月6日

摘要: 参考了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) 编辑


2011年3月5日

摘要: 该实例建立了一个守护进程,然后让该守护进程每隔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 道明一腾 阅读(261) 评论(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) 编辑


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