【以apue第三版为蓝本】目录第1章 UNIX基础知识第2章 UNIX标准及实现第3章 文件IO第4章 文件和目录第5章 标准I/O库第6章 系统数据文件和信息第7章 进程环境第8章 进程控制第9章 进程关系第10章 信号第11章 线程第12章 线程控制第13章 守护进程第14章 高级I/O第15章 进程间通信第16章 网络IPC:套接字第17章 高级进程间通信第18章 终端I/O第19章 伪终端
原创
2015-07-09 08:58:41
3951阅读
简介本文总结了个人,一个数字,对应称号《APUE》第一版的每一章,但是,独立的二级标题和书,人需求进行编写。3.文件I/O本章所说明的函数常常被称之为不带缓存的I/O(与第5章中说明的标准I/O函数相对比)3.1文件I/O函数大多数UNIX文件I/O仅仅需用到5个函数:open、read、write...
转载
2015-10-24 15:21:00
75阅读
没有缓冲的I/O
1、open函数
int open(const char *pathname, int flag, .../* mode_t mode*/)
文件打开成功返回文件描述符(非负数),失败返回-1
flag常用的选项有:
O_RDONLY 只读打开
O_WRONLY&
原创
2012-09-15 22:50:13
548阅读
先在这个网站 http://www.apuebook.com/src.tar.gz 下载相应的版本tar.gz格式的源码包然后解压到/home/xxx/目录中然后进入目录apue.2e,把文件 Make.defines.linux 中的 WKDIR=/home/xxx/apue.2e 修改为
WKDIR=/home/ray/apue.2e
,然后再进入apue.2e目录下的std目录
转载
精选
2015-02-10 16:27:09
542阅读
#ifndef _APUE_H
#define _APUE_H
#include <stdarg.h>
#define _XOPEN_SOURCE 600
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/termios.h>
#ifndef T
转载
2011-07-10 14:51:57
664阅读
上官科技周末班 不知 如何。。待定。
原创
2015-04-24 15:54:48
256阅读
《UNIX环境高级编程》中apue.h的问题运行程序清单1-1(列出一个目录中的所有文件) 提示 "错误:apue.h:没有那个文件或目录".很是受打击,果断google解决之。 apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /u
原创
2017-04-07 23:31:59
811阅读
20+ 篇与 apue 相关的文章按原章节目录组织起来,方便系统阅读与 apue 相关的一系列文章比较庞杂,按原书目录整理了一下,形成目录,方便系统性阅读。另外这些文章是在我快读完的时候开始写的,之前的一些章节还多有遗漏,后面慢慢补上。chapter 1: UNIX 基础知识chapter 2: UNIX 标准化及实现[apue] sysconf 的四种返回状态[apue] 一个快速确定新系统上各
转载
2020-02-14 14:38:00
226阅读
2评论
apue 最后两章都是通过一个完整的实例来解释一些 linux 功能,第20章就是通过一个数据库实例来解释文件锁的使用, 说实话,当时没兴趣,因为满页都是源码和解析,有点看不下去。但是再拾起来硬着头皮看的时候,发现这哪里是个小 demo,明明是个五脏俱全的 key-value 数据库嘛, 而且这个数 ...
转载
2021-04-23 23:11:50
183阅读
2评论
apue读书笔记之apue.h的设置学习apue时,程序都有一个共同的头文件apue.h。那么该如何设置呢?本文是apue版本为第三版。首先去图书官方网址下载对应的源码tar包。地址为:http://www.apuebook.com/code3e.html解压tar包。进入目录执行make 命令。一般会出现关于“heapsort”的错误。这时需要安装两个包。分别是libbsd-0.6.0-1.el
原创
2016-12-03 09:31:58
1006阅读
APUE 线程 - 程序清单
程序清单11-1 打印线程ID#include "util.h"
#include<pthread.h>
pthread_t ntid;
void
printids(const char *s)
{
pid_t pid;
pthread_t tid;
pid = getpid();
tid = pthread_self();
//之所
转载
2017-07-19 13:59:00
88阅读
2评论
APUE信号-程序汇总 近期重看APUE,发现对于非常多程序的要领还是没有全然理解。所以梳理下便于查看,并且有非常多值得思考的问题。 程序清单10- 1 捕获 SIGUSR1 和 SIGUSR2的简单程序 #include "util.h" static void sig_usr(int); int
转载
2017-04-12 13:31:00
92阅读
2评论
[u1@h1 apue.3e]$ makegcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE -c -o rwlock.o rwlock.cgcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE timedlock.c -o timedlock -L../
转载
精选
2015-02-12 11:44:30
1015阅读
线程是CPU调度的最小单位,也就是说一个进程中的多个线程是以不定的调度顺序并发执行的。而一个进程中的多个线程是共享内存资源的,这里就引出了一个概念----临界资源,多个线程都可以访问的资源,而线程中访问临界资源的代码段称为临界区。如果多个线程都有同一个临界资源的临界区,那这些线程的调用顺序不同得到的结果就可能不同,
转载
2013-05-27 19:45:00
61阅读
2评论
本文主要介绍在UNIX环境下编程所需要了解的内容,可做为UNIX/Linux环境下编程的学习资料,或者需要时查阅的参考资料。本文在后面的叙述中必要时可能会被称做“本书”,以明确表示讨论范围是整个内容而不是其中的某一章节,在本前言部分“本文”就是“本书”。
原创
2011-12-21 16:34:24
617阅读
13、link, unlink , remove和rename函数
int link(const char *pathname, const char *newpath);
任何一个文件可以有多个目录项指向其i节点。此函数创建一个新目录项,它引用现有的文件,如果newpath已经存在,则出错。
原创
2012-09-20 13:52:20
554阅读
Q5.1 Implement setbuf using setvbuf. Q5.2 Type in the program that copies a file using line-at-a-time I/O (fgets and fputs) from Figure 5.5, but use a MAXLINE of 4. What happens if you copy lines
原创
2015-11-21 15:01:10
1134阅读
Q6.1 如果系统使用阴影文件,那么如何取得加密口令?If the system uses a shadow file and we need to obtain the encrypted password, how do we do so ?我们可以用 struct spwd *getspnam(const char *name); 去/etc/shadow 里去查看用户密码部分。
原创
2015-11-24 17:52:01
930阅读
本篇文章介绍TCP通信。 上文提到传输层的两个协议TCP和UDP,UDP是无连接的已经介绍过,TCP是面向连接的,阐述建立连接和断开连接前先来看下TCP报文头的结构。 报文头在linux的定义在/usr/include/netinet/tcp.h中:struct tcp
转载
2013-06-28 19:03:00
23阅读
2评论
正如前言提过的,真正想要获取知识的读者,一定也是想在学到本书真正的内容之前,不愿浪费更多时间在无聊的事情上面的吧。所以尽量将一些可有可无的内容,作为本书最后的消遣,放在了这里的后序部分,与读者分享。^_^
原创
2012-06-14 20:39:22
472阅读