11 2012 档案

exit和return
摘要:虽然原来也曾看过exit和return的区别,一直都认为这两者差不多,今天在写程序的时候突然发现原来差很多,唉,还是多写点程序好啊,奈何,曾认为自己写代码的水平已不是很差了,所以就写的较少了,看来还是不行的啊return与exit的区别是什么?exit()是一个函数,结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,在父进程中wait系统调用将接受到此返回信息。return返回函数值,是关键字在main函数中我们通常使用return (0);这样的方式返回一个值。 但这是限定在非void情况下的也就是void main()这样的形式。 exit()通常是用在子程序中用来终.. 阅读全文

posted @ 2012-11-18 19:33 追寻前人的脚步 阅读(259) 评论(0) 推荐(0)

linux 定时器 setitimer
摘要:#include <stdio.h>#include <unistd.h>#include <signal.h>#include <string.h>#include <sys/time.h>#include <errno.h>void PrintMsg(int Num){ printf("%s\n", "Hello World"); return;}int main(int argc, char* argv[]){ signal(SIGALRM, PrintMsg); struct 阅读全文

posted @ 2012-11-18 16:46 追寻前人的脚步 阅读(249) 评论(0) 推荐(0)

linux0.12 ---memory.c
摘要:free_page()释放物理地址addr处的一页内存本帖最后由 Gen216ius 于 2011-8-14 21:26 编辑具体解读对着图片看,图片的英文就是代码的变量,注意这里的from是线性地址int free_page_tables (unsigned long from, unsigned long size){ unsigned long *pg_table; unsigned long *dir, nr; if (from & 0x3fffff)// 要释放内存块的地址需以4M 为边界。 panic ("free_page_tables calle... 阅读全文

posted @ 2012-11-11 09:32 追寻前人的脚步 阅读(311) 评论(0) 推荐(0)

一些基础知识
摘要:1typedef int (*fn_ptr)(); (无内容)typedef int (*funcptr)();// funcptr is synonym for "pointer // to function returning int"funcptr table[10]; // Equivalent to "int (*table[10])();"table[]函数指针数组,每个元素都保存一个函数的入口比如int fun();table[1] = fun;int i = table[1]( );即调用了一个函数fun,并将返回值赋予i。2ret 和i 阅读全文

posted @ 2012-11-04 15:01 追寻前人的脚步 阅读(169) 评论(0) 推荐(0)

嵌入式汇编+系统调用
摘要:init进程调用的init函数1、setup((void*)&drive_info);a.setup函数用的是main.c中Line 25的inline _syscall1(int,setup,void *,BIOS),_syscall1()函数调用来自于include/unistd.h中的Line 1461#define_syscall1(type,name,atype,a)\2typename(atypea)\3{\4long__res;\5__asm__volatile("int$0x80"\6:"=a"(__res)\7:"0& 阅读全文

posted @ 2012-11-04 10:29 追寻前人的脚步 阅读(350) 评论(0) 推荐(0)

转:linux文件读写
摘要:读写文件,是作为一个操作系统所提供的最基本接口之一。我们就从写文件过程:open,write,close这几个接口来说起,描述写文件的那些事儿。平时,我们做应用程序的时候,常常用到读写文件的函数接口,就拿写文件来说,我们用C/C++编写时,用到了以下的函数接口:1>FILE* fopen(const char* restrict filename,const char* restrict mode);2>size_t fwrite(const void* restrict buffer,size_t size,size_t n,FILE * restrict fp);3>in 阅读全文

posted @ 2012-11-04 10:23 追寻前人的脚步 阅读(286) 评论(0) 推荐(0)

ctags的使用
摘要:[/home/brimmer/src]$ctags-R"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:l用#define定义的宏l枚举型变量的值l函数的定义、原型和声明l名字空间(namespace)l类型定义(typedefs)l变量(包括定义和声明)l类(class)、结构(struct)、枚举类型(enum)和联合(union)l类、结构和联合中成员变量或函数VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:1)用命令行。在运行vi 阅读全文

posted @ 2012-11-01 20:16 追寻前人的脚步 阅读(1424) 评论(0) 推荐(0)

apue3.14节的一个例子
摘要:#include "apue.h"#include <fcntl.h>intmain(int argc, char *argv[]){ int val; if (argc != 2) err_quit("usage: a.out <descriptor#>"); if ((val = fcntl(atoi(argv[1]), F_GETFL, 0)) < 0) err_sys("fcntl error for fd %d", atoi(argv[1])); switch (val & O_ACCM 阅读全文

posted @ 2012-11-01 20:14 追寻前人的脚步 阅读(307) 评论(0) 推荐(0)

导航