Linux网络编程
文章平均质量分 50
Linux_forker
这个作者很懒,什么都没留下…
展开
-
Linux下helloworld的简单编译过程
我们在使用gcc生成可执行程序的时候,一般是命令: gcc *.c, 生成可执行文件a.out 其实过程可以分为4个步骤,分别是预处理,编译,汇编和链接。下面以最基本的helloworld来简单了解一下编译的过程。1.预编译预编译又称为预处理,是做些代码文本的替换工作。 处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等,就是为编译做的预备工作的阶原创 2015-07-20 11:52:08 · 1260 阅读 · 0 评论 -
dup&dup2函数的使用
dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。#include <unistd.h>int dup(int oldfd);int dup2(int oldfd, int newfd);如果两个文件描述符指向同一个file结构体,File Status Flag和读写位置只保存一份在file结构体中,并且file结构体的引用计数是2。如果两次open同原创 2015-07-20 23:41:35 · 797 阅读 · 0 评论 -
open/close函数的使用
1.open函数的使用调用open函数可以打开或创建一个文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname,原创 2015-07-20 13:49:02 · 12720 阅读 · 0 评论 -
fifo实现本地简单聊天程序
最近做了一个小练习,要求如下: 1.设计协议 2.客户端只写公共管道,向服务端发信息 3.客户端只读私有管道,接收信息。 4.服务端维护用户登录列表 详细如图: 1.server#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <s原创 2015-08-29 00:01:42 · 2725 阅读 · 1 评论 -
gdb调试工具的使用
1.gdb介绍GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNⅨ下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下原创 2015-07-24 01:05:50 · 2056 阅读 · 0 评论 -
wait/waitpid函数使用
僵尸进程: 子进程退出,父进程没有回收子进程资源(PCB),则子进程变成僵尸进程 孤儿进程: 父进程先于子进程结束,则子进程成为孤儿进程,子进程的父进程成为1号进程init进程,称为init进程领养孤儿进程 #include <sys/types.h> #include <sys/wait.h> pid_t wait(int *status);原创 2015-07-24 23:56:45 · 842 阅读 · 0 评论 -
一次重定向引起的异步IO
最近在用dup/dup2做IO重定向的时候,由于缓冲区的问题出现了一次异步IO,导致无法正常输出正确的结果。 先贴出代码:/* * 从文件里面读出1000个随机数,进行排序,再写到另一个文件中(使用dup/dup2) * */#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.原创 2015-08-24 23:25:11 · 644 阅读 · 0 评论