- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 《深入理解计算机系统》第八章 (一)关于子进程创建函数fork的理解
今天读到了《深入理解计算机系统》第八章关于进程控制的描述,对fork函数有一定的认识,特做此博文,做一记录。例程:/** * @file fork_try.c * @brief * * * @author Ma Hao (Alex), mahao@hust.edu.cn * * @blog http://blog.csdn.net/sanwu201
2013-11-30 16:32:48 851
转载 关于正则表达式
推荐几个比较好的资源:http://www.jb51.net/tools/zhengze.htmlhttp://msdn.microsoft.com/zh-cn/library/28hw3sce%28v=vs.80%29.aspx
2013-11-25 20:57:16 513
原创 《Linux程序设计第四版》第三章文件操作 读书笔记(五)
/**格式化输入输出 */(1)输出 #include int printf(const char *format,...); 输出到标准输出 int sprintf(char *s, const char *format,...); 把自己的输出和一个结尾空字符写到字符串s int fprintf(FILE *stream, const char *for
2013-11-25 16:52:09 682
原创 《Linux程序设计第四版》第三章文件操作 读书笔记(四)
/** 标准IO库 */在标准I/O库中,与底层的文件描述符对应的是流(stream),它被实现为指向结构FILE的指针。标准IO库的库函数(1)#include FILE *fopen(const char *filename, const char *mode); mode描述了打开的方式(mode必须给定的是一个字符串,所以必须应该使用双引号)
2013-11-25 16:50:11 756
原创 《Linux程序设计第四版》第三章文件操作 读书笔记(三)
/** 底层文件访问 */(1)write系统调用#includesize_t write(int fildes,const void *buf,size_t nbytes);作用:将缓冲区buf中的前nbytes个字节写入与文件描述符fildes关联的文件中。返回值:返回实际写入的字节数,返回0表示未写入任何数据,返回-1表示在write调用中出现了错误,错误代码保存在err
2013-11-25 16:49:23 741 1
原创 《Linux程序设计第四版》第三章文件操作 读书笔记(二)
/**三个比较重要的设备文件 */(1)/dev/console 系统控制台(2)/dev/tty 如果每个进程有一个控制终端的话,特殊文件/dev/tty就是这个控制终端的别名(逻辑设备) 虽然/dev/console只有一个,但是它却可以通过/dev/tty/访问许多不同的物理设备 (3)/dev/null 空设备,所有写向这个设备的输出都将被丢弃
2013-11-25 16:47:51 719
原创 《Linux程序设计第四版》第三章文件操作 读书笔记(一)
/**目录 */文件除了本身包含的内容以外,还会有一些名字和属性,即“管理信息",包括文件的创建/修改日期和它的访问权限。这些属性被保存在文件的inode(节点)中,它是文件系统中的一个特殊的目录块,同时还包括了文件的长度和文件在磁盘上的存放位置。系统使用的是文件的inode编号。目录结构为文件命名仅仅是为了方便人们的使用。而目录是用于保存文件的inode编号和名字的文件。目录文件中的每个数
2013-11-25 16:45:35 631
原创 深入理解计算机系统第七章读书笔记
/**1.可重定位目标文件 */ELF可重定位目标文件主要包括一下部分:(1)ELF头: 生成文件的系统的字的大小和字节序列 链接器语法分析和目标文件的信息 (2).text 已编译程序的机器代码 (3).rodata 只读数据 (4).data 已初始化的全局变量C变量 (5).bss 未初始化的
2013-11-23 21:10:34 1418
转载 Linux嵌入式工程师成长经历
1、Linux开发工程师首先成长为一名Linux开发工程师,这是最基本的目标,他应该具备如下的素质:(1)了解Linux基本概念和基本操作(历史,文化,起源)(命令行,配置,操作,开发模式)(2)会使用Linux平台下的编辑器vi(默认安装,占内存小,方便向嵌入式移植)(3)会使用Linux平台下的编译器GCC(相应的十几个命令行参数)(4)会使用Linux平台下的管理工具Ma
2013-11-14 20:57:24 1561 1
原创 目录扫描的实现
/************************************************************************* > File Name: dir_scan.c > Author: mahao > Mail: mahao@hust.edu.cn > Created Time: 2013年11月12日 星期二 22时04分
2013-11-13 16:14:33 640
原创 VIM中实现多行注释和多行取消注释
(一)使用行列编辑来实现(1)多行注释:ctrl+v进入列编辑模式,在编辑模式中,在行间上下移动光标,选择需要编辑哪些行的对应的列,之后使用I(大写)进入列插入。插入注释符,按Esc退出列编辑模式即可实现多行注释(2)删除注释:按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,
2013-11-08 10:00:48 1090
转载 malloc和calloc的区别
函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void*malloc(size_t size);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void*calloc(size_t num
2013-11-06 21:04:53 580
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人