上一页 1 ··· 36 37 38 39 40
摘要: 下面用程序实现这样的功能:有一个文件的内容需要拷贝到另一个文件中,以前的做法是用一个进程来完成,下面要做的是,是两个进程同时做这件事,一个进程负责一半,如父进程负责拷贝文件的前半段,子进程负责拷贝文件的后半段。下面看一下程序的流程以及需要注意的问题: 其中 要注意的是当父进程调用fork函数创建子进程后,子进程同样也把父进程所打开的文件描述符fd拷贝过来,但是,在内核当中的struct file... 阅读全文
posted @ 2013-03-05 20:18 摩斯电码 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 一、一个进程的构成 一个进程由正文段(即代码段)、用户数据段以及系统数据段。 其中系统数据段又称进程控制块(PCB),是给操作系统进行调度用的。系统数据段中存放了关于这个进程的:PID 、PPID、优先级、占用的资源、该进程的状态等等。 fork函数用于进程创建。 看下面一段代码 1: #include <stdio.h> 2: #include <unistd.h> 3:... 阅读全文
posted @ 2013-03-04 19:21 摩斯电码 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 大小端的更多内容参见:详解大端模式和小端模式 第一种方法 思路:利用指针的强制类型转换 #include <stdio.h>int main(void){ int data1 = 0x12345678; int i; for(i=0; i<4; i++) { printf("%#x ----->%p\n",*((char *)&data1 + i),... 阅读全文
posted @ 2013-03-03 14:10 摩斯电码 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 一、库和系统调用 操作系统内核提供的接口函数就是系统调用。 库是别人写好的现有的、成熟的,可以代码复用的代码,如C库,数学函数库等等。很多库中的函数是对内核提供的系统调用的封装。系统调用对内核的依赖性很大,都是Linux操作系统,如redhat 、Ubuntu,但是他们提供的系统调用有些是不同的,linux和windows的系统调用也不同看看维基百科如何解释:在计算机中,系统调用(英语:system call),又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务。 系统调用提供了用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态执行。如设备IO操作或者 阅读全文
posted @ 2013-03-03 11:50 摩斯电码 阅读(838) 评论(0) 推荐(1) 编辑
摘要: 第一种方法思路:将文件中的字符一个一个读出,然后与 \n 作比较。 1: #include <stdio.h> 2: #include <string.h> 3: #include <errno.h> 4: 5: 6: int main(int argc, char *argv[]) 7: { 8: FILE *fp; 9: int n = 0; 10: int ch; 11: 12: if((fp = fopen(argv[1],"r+")) == NULL) 13: { 1... 阅读全文
posted @ 2013-03-03 10:50 摩斯电码 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 动态库和静态库 阅读全文
posted @ 2013-03-02 14:07 摩斯电码 阅读(417) 评论(0) 推荐(0) 编辑
上一页 1 ··· 36 37 38 39 40