E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《Unix环境高级编程》
UNIX环境高级编程
:Stephen Rago访谈
《
UNIX环境高级编程
》(AdvancedProgrammingintheUNIXEnvironment,APUE)被誉为基于UNIX的编程环境的圣经。
Jeff Martin
·
2013-10-23 00:00
《
UNIX环境高级编程
》笔记--临时文件
ISOC标准IO库提供了2个函数创建临时文件。#include char*tmpnam(char*ptr);//返回唯一路径名的指针 FILE*tmpfile(void);//成功则返回文件指针,出错则返回NULL若ptr是NULL,则所产生的路径名存放在一个静态区中,指向该静态区的指正作为函数值返回。下一次再调用tmpnam时,会重写该静态区(如果我们调用此函数多次,并且向保存路径名,我们应该保
TODD911
·
2013-10-21 17:00
《
UNIX环境高级编程
》笔记--定位流
有三种方法可以定位流。1.ftell函数和fseek函数这两个函数自V7依赖就存在了。但是它们假定文件的位置可以存放在一个长整型中。函数声明如下:#include longftell(FILE*fp);//如果成功返回当前文件位置指示,出错则返回-1. intfseek(FILE*fp,longoffset,intwhence);//如果成功则返回0,出错则返回非0值。 voidrewind(FI
TODD911
·
2013-10-21 15:00
《
UNIX环境高级编程
》笔记--读和写流
一旦打开了流,则可以对流进行读写:每次一个字符,每次一行,二进制。1.每次一个字符使用下面三个函数用于一次读一个字符。#include intgetc(FILE*fp); intfgetc(FILE*fp); intgetchar(void);如果成功返回读取到的字符,出错或者到达文件结尾则返回EOF(一般为-1)。getc为宏,fgetc为函数,getchar等价于fgetc(stdin)。注意
TODD911
·
2013-10-20 19:00
《
UNIX环境高级编程
》笔记--打开流
下列三个函数打开一个标准IO流。#include FILE*fopen(constchar*restrictpathname,constchar*restricttype); FILE*freopen(constchar*restrictpathname,constchar*restricttype,FILE*restrictfp); FILE*fdopen(intfiledes,char*typ
TODD911
·
2013-10-19 20:00
流和缓冲区
一、流(stream):这里讨论的是标准I/O术语流(请勿将其与系统V的STREAMSI/O系统相混淆,后者可参见Stevens的《
UNIX环境高级编程
》第十二章)。
u010695380
·
2013-10-06 10:00
书单
大教堂和集市,软件随想录,黑客与画家(已读)
Unix环境高级编程
: Amazon链接:
UNIX环境高级编程
(第2版) 本书早就想看,层下载电子版,但是只看了几页,愧啊。
宫玖
·
2013-09-25 20:00
书籍;书籍推荐;Amazon
UNIX环境高级编程
--标准I/O库(二)
在文件I/O中所有函数都是针对文件描述符的,对于标致I/O库,他们的操作则是围绕流进行的。当用标准I/O库打开或创建一个文件时,我们已使一个流与一个文件相关联。 当打开一个流时,标准I/O函数fopen返回一个指向FILE对象的指针。该对象通常是一个结构,它包含了标准I/O库为管理该流所需要的所有信息,包括:用于实际I/O的文件描述符、指向用于该流缓冲区的指针、缓冲区的长度、当前在缓冲区
yusiguyuan
·
2013-09-25 08:00
c
unix
IO
Unix环境高级编程
UNIX环境高级编程
--高级I/O(三)
一、高级I/O包括非阻塞I/O、记录锁、系统V流机制、I/O多路回转(select和poll函数)、readv和writev函数以及存储映射I/O(mmap),这些都是高级I/O. 其实在上面讲述的这三类I/O,首先讲述了linux下的基本I/O系统调用,这些调用不仅仅是文件I/O的基础,也是linux下所有通信方式的基础;接着讲述了基础I/O系统调用之上经常需要在用户空间做缓冲,学习了一个用
yusiguyuan
·
2013-09-24 22:00
unix
IO
Unix环境高级编程
[百度分享]网络编程常见问题总结 1
在网络程序中遇到的一些问题进行了总结,这里主要针对的是我们常用的TCPsocket相关的总结,可能会存在错误,有任何问题欢迎大家提出.对于网络编程的更多详细说明建议参考下面的书籍《UNIX网络编程》《TCP/IP详解》《
Unix
xingxiliang
·
2013-09-24 17:00
tcp
网络编程
解决《
UNIX环境高级编程
》(APUE)示例代码的编译问题
转自 http://cunsheng.sinaapp.com/?p=360 APUE中示例很多, 把这些源码拿来跑跑调调对学习理解有着莫大的帮助, 随书网站就提供了源码下载, 不过我自己在Linux和Mac OS X编译时都遇到了一些小问题, 以下是解决方法和其他一些提示, 希望能对其他人有用 下载了源代码后, 正常情况下两步操作就可以完成编译 根据你的操作系
·
2013-09-24 11:00
unix
UNIX环境高级编程
--文件I/O(一)
这四部分在《
unix环境高级编程
》中是分开的三章,这里提取放在一块说更有课比性。一、文件I/O 在对文件进行读写操作前,需要先打开该文件。
yusiguyuan
·
2013-09-24 07:00
c
linux
IO
Unix环境高级编程
UNIX环境高级编程
--信号(十)
一、引言 信号时软件中断,信号听了一种处理异步事件的方法:终端用户键入中断键,则会通过信号机构停止一个程序。在早期的版本中提供的信号模型并不可靠。信号可能被丢失,而且在执行临界区代码时,进程很难关闭所选择的信号。本章先对信号机制进行综述,并说明每种信号的一般用法,二、信号的概念 每个信号都有一个名字。名字都已三个字符SIG开头,例如SIGABRE是夭折信号,进程调用ab
yusiguyuan
·
2013-09-22 20:00
信号
unix网络编程
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
114人阅读 评论(0) 收藏 举报进程信号管道消息队列信号量Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《LinuxC程序设计大全》,《
unix
pi9nc
·
2013-09-19 10:00
linux
网络编程常见问题
这里主要针对的是我们常用的TCPsocket相关的总结,可能会存在错误,有任何问题欢迎大家提出..e3Y0@*_-e1G-B%R对于网络编程的更多详细说明建议参考下面的书籍《UNIX网络编程》《TCP/IP详解》《
Unix
Allen-PengYe
·
2013-09-18 22:10
C++
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《LinuxC程序设计大全》,《
unix环境高级编程
》说明:本文非常的长,也是为了便于查找和比较
meic51
·
2013-09-18 21:00
进程
消息队列
信号
信号量
管道
《
UNIX环境高级编程
》笔记--fcntl函数
fcntl函数可以改变或者查看已打开文件的性质。该函数的定义如下:#include intfcntl(intfd,intcmd); intfcntl(intfd,intcmd,longarg); intfcntl(intfd,intcmd,structflock*lock); //返回值:如果成功则依赖于cmd,出错则返回-1.本文只介绍函数的第1,2种形式,第3中形式会在以后介绍记录锁时说明。f
TODD911
·
2013-09-15 15:00
《
UNIX环境高级编程
》笔记--sync、fsync和fdatasync函数
传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayedwrite)延迟写减少了磁
TODD911
·
2013-09-15 10:00
《
UNIX环境高级编程
》笔记--文件共享
1.文件共享内核使用3种数据结构来表示打开的文件,他们的关系如下:每个进程都有一张进程表项,记录进程打开的文件:fd标志:close_on_exec,若一个文件描述符在close_on_exec中的对应比特位被设置,那么在执行execl函数时该描述符将被关闭,即在execl函数执行的程序中直接使用该描述符,则会出错(但是如果是子进程,则仍然可以使用该FD,不管close_on_exec设置成什么)
TODD911
·
2013-09-13 15:00
【C】——dup/dup2用法
相信大部分在Unix/Linux下编程的程序员手头上都有《
Unix环境高级编程
》(APUE)这本超级经典巨著。
·
2013-09-11 16:00
dup
《
UNIX环境高级编程
》笔记--read函数,write函数,lseek函数
1.read函数调用read函数从文件去读数据,函数定义如下:#include ssize_tread(intfiledes,void*buff,size_tnbytes);成功则返回实际读取的byte数,如果已经达到文件结尾则返回0,出错则返回-1.2.write函数调用write函数向打开的文件写入数据,函数定义如下:#include ssize_twrite(intfiledes,void*
TODD911
·
2013-09-09 15:00
《
UNIX环境高级编程
》笔记--open函数,create函数,close函数
1.open函数说明:调用open函数打开或者创建一个文件。函数定义如下:#include intopen(constchar*pathname,intflag); intopen(constchar*pathname,intflag,mode_tmode);//只有新创建文件时才会使用该函数 //返回值,如果成功返回文件描述符,如果出错返回-1使用open返回的文件描述符作为参数传递给write
TODD911
·
2013-09-05 20:00
go package学习——os
ospackage的内容基本与c的一致,如果有《
Unix环境高级编程
》的基础,会非常容易理解和掌握ospackage。
壬癸甲乙
·
2013-09-04 13:00
《
UNIX环境高级编程
》笔记--UNIX标准化及实现
1.UNIX标准化1.1.ISOC1989年后期,C程序设计语言的ANSI(AmericanNationalStandardsInstitute)标准X3.159-1989得到批准(ANSI1989)。此标准已被采用为国际标准ISO/IEC9899:1990。1999年,ISOC给根性为ISO/IEC9899:1999。按照ISOC标准定义了各个头文件(header),可将ISOC库分成24个区。
TODD911
·
2013-08-31 16:00
Linux下基于POSIX标准的共享内存操作示例
大家还记得这本书吧《
Unix环境高级编程
》,上面讲解了关于共享内存的操作,说实话,太麻烦了,真的不好用(有好多繁杂的接口,比如shmget,shmat,shmdt,chmctl等)。
Free_will
·
2013-08-30 17:29
application
[置顶] UNIX 环境高级编程之我见
《
UNIX环境高级编程
》(第二版)(人民邮电出版社)【美】W.RichardStevens&StephenA.Rago著本书的主要结构分为以下几个部分:(1).第1章UNIX基础知识①UNIX体系结构中
tianyeming
·
2013-08-24 10:00
unix
环境高级编程之我见
标准I/O的缓冲机制的实例讲解
标准I/O提供了三种类型的缓冲我们下来看一个《
unix环境高级编程
》上的一个输出标准输入,标准输出,标准出错和普通文件的缓冲信息的例子 4voidpr_stdio(char*,FILE*); 5 6intmain
kate19930802
·
2013-08-23 22:00
01_Linux 目录结构和最常用的命令
(3)学习
unix环境高级编程
。(4)Linux应用系统开
huanfengyun
·
2013-08-23 00:00
linux
常用命令
目录结构
孤儿进程与僵尸进程[总结]
孤儿进程与僵尸进程[总结]1、前言之前在看《
unix环境高级编程
》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。
·
2013-08-21 10:00
总结
孤儿进程与僵尸进程[总结]
1、前言之前在看《
unix环境高级编程
》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。
Rabbit_Dale
·
2013-08-21 00:00
关于C,看过的一些书
忘了名字的书,《C语言程序设计》(老谭版)《高质量程序设计》《C陷阱与缺陷》《C专家编程》《程序员成长计划》《
UNIX环境高级编程
》《深入理解计算机系统》《代码大全》《编程精粹》《重构》(在读)按照自己的阅读顺序罗列了以上书籍
tietao
·
2013-08-21 00:00
条件变量pthread_cond_t怎么用
最近看《
UNIX环境高级编程
》多线程同步,看到他举例说条件变量pthread_cond_t怎么用,愣是没有看懂,只好在网上找了份代码,跑了跑,才弄明白[cpp] viewplaincopy#include
flymachine
·
2013-08-15 22:00
UNIX环境高级编程
中的apue.h错误
正在拜读RichardStevens的大作《
UNIX环境高级编程
》,当读到第一个编程实例时,就懵了!一个简短的程序,就是编译不通过!各种错误!
Baniel01
·
2013-08-07 10:00
《
unix环境高级编程
》-11.线程-读书笔记
一、基本概念1、一个进程内的所有线程都可以访问该进程的组成部件:文件描述符和内存。2、线程好处:(1)通过每件事件类型的处理分配单独的线程,能够简化处理异步事件的代码。(2)多个进程必须使用操作系统提供的复杂机制才能实现内存和文件描述符的共享。(3)多个线程可以将任务细化,交叉进行。(4)交互程序可以通过使用多线程实现响应时间的改善。3、线程包含进程内执行环境必须的信息,其中包括进程中线程标识ID
beitiandijun
·
2013-08-05 21:00
linux程序设计
《
UNIX环境高级编程
》笔记--errno是否是线程安全的?
当UNIX函数出错时,常常返回一个负数,而且整形变量errno通常被设置为含有附加信息的一个值,例如,open函数如成功,返回 一个非负文件描述符,如果出错就返回-1,在open出错时,有大约15种不同的errno值(文件不存在,权限问题等)。某些函数并不返回负数而是使用另一种约定。例如,返回一个指向对象指针的大多数函数,在出错时,将返回一个null指针。 文件<errno.h>中定
·
2013-08-05 20:00
unix
《
UNIX环境高级编程
》笔记--errno是否是线程安全的?
当UNIX函数出错时,常常返回一个负数,而且整形变量errno通常被设置为含有附加信息的一个值,例如,open函数如成功,返回一个非负文件描述符,如果出错就返回-1,在open出错时,有大约15种不同的errno值(文件不存在,权限问题等)。某些函数并不返回负数而是使用另一种约定。例如,返回一个指向对象指针的大多数函数,在出错时,将返回一个null指针。文件中定义了符号errno以及可以赋予它的各
TODD911
·
2013-08-05 13:00
有关流和缓冲区的好文章
一、流(stream):这里讨论的是标准I/O术语流(请勿将其与系统V的STREAMSI/O系统相混淆,后者可参见Stevens的《
UNIX环境高级编程
》第十二章)。
u011175448
·
2013-08-04 11:00
c
流
buffer
缓冲区
UNIX环境高级编程
——Linux终端设备详解
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:1.串行端口终端(/dev/ttySn) 串行端口终端(SerialPortTerminal)是
ctthunagchneg
·
2013-08-03 16:00
UNIX环境高级编程
——单实例的守护进程
#include #include #include #include #include #include #include #include #include #include /*创建守护进程函数*/ intdaemonize(){ intchildpid,fd,fdtablesize; interror,in,out; /*忽略终端I/O信号,STOP信号*/ signal(SIGTTOU,
ctthunagchneg
·
2013-08-03 03:00
UNIX环境高级编程
——初始化一个守护进程
#include #include #include #include #include #include #include #include #include /*创建守护进程函数*/ intdaemonize(){ intchildpid,fd,fdtablesize; interror,in,out; /*忽略终端I/O信号,STOP信号*/ signal(SIGTTOU,SIG_IGN);
ctthunagchneg
·
2013-08-03 03:00
UNIX环境高级编程
——创建孤儿进程
/*创建孤儿进程父进程终止后,向子进程发送挂断信号,又接着发送继续信号。*/#include#include#include#include#include#include#include/*处理接受到的挂断信号*/staticvoidsig_hup(intsigno){printf("SIGHUPrecvived,pid=%d\n",getpid());}/*打印进程ID、父进程ID、进程组ID
ctthuangcheng
·
2013-08-03 02:52
APUE
UNIX环境高级编程
——创建孤儿进程
/* 创建孤儿进程 父进程终止后,向子进程发送挂断信号,又接着发送继续信号。 */ #include #include #include #include #include #include #include /*处理接受到的挂断信号*/ staticvoidsig_hup(intsigno) { printf("SIGHUPrecvived,pid=%d\n",getpid()); } /*打印
ctthunagchneg
·
2013-08-03 02:00
UNIX环境高级编程
——实现uid to name
setpwent()用来将getpwent()的读写地址指回文件开头,即从头读取密码文件中的账号数据。strcutpasswd*getpwent(void); getpwent()用来从密码文件(/etc/passwd)中读取一项用户数据,该用户的数据以passwd结构返回。第一次调用时会取得第一位用户数据,之后每调用一次就会返回下一项数据,直到已无任何数据时返回NULL。 p
ctthunagchneg
·
2013-08-03 02:00
UNIX环境高级编程
——标准IO-实现查看所有用户
#include #include #include #include intmain(intargc,char*argv[]) { charszBuf[512]; charszName[512]; FILE*f=fopen("/etc/passwd","r"); memset(szBuf,0,sizeof(szBuf)); inti; while(fgets(szBuf,sizeof(szBuf
ctthunagchneg
·
2013-08-03 02:00
UNIX环境高级编程
——环境变量表读取/添加/修改/删除
#include #include #include intmain() { char*pValue; pValue=getenv("HOME");//起始目录(主目录) printf("$HOME=%s\n",pValue); //在主目录下建立a.txt文件 charszFilePath[100]; strcpy(szFilePath,pValue); strcat(szFilePath,"/
ctthunagchneg
·
2013-08-03 01:00
《
UNIX环境高级编程
》笔记--无缓存I/O操作和标准I/O文件操作区别
本文转载于:http://www.360doc.com/content/11/0521/11/5455634_118306098.shtml首先,先稍微了解系统调用的概念: 系统调用,英文名systemcall,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系
TODD911
·
2013-08-02 14:00
Unix环境高级编程
笔记
1系统调用和库函数调用是有区别的,系统调用只提供最小的接口,而库函数则提供更为复杂的功能。例如获取当前日期,系统调用只会返回距离格林威治时间1970年1月1号经历了的秒数,而库函数怎会结合当地的时区计算出日期。 2文件io的几个主要的接口分别是open\create\read\write\lseek\close(这几个接口属于不带缓冲的io,每次调用对应一次系统调用,陷入内核)。对内核而言,所有打
hill007299
·
2013-07-28 15:00
unix
fork、vfork的一些问题
在《
UNIX环境高级编程
》一书的第八章中,有一道课后习题如下:回忆图7-3典型的存储空间布局。
trophy
·
2013-07-23 11:00
linux
unix
渣浪招聘--高级系统工程师(北京)
职位要求:1做事积极主动,强烈的责任心,良好的团队协作,善于学习;2熟悉linux系统(参考
unix环境高级编程
);3熟悉常用的开源软件(如:nginxlvshapro
sharkyan
·
2013-07-23 10:15
运维
招聘
北京
IT
Life
渣浪招聘--高级系统工程师(北京)
职位要求:1做事积极主动,强烈的责任心,良好的团队协作,善于学习;2熟悉linux系统(参考
unix环境高级编程
);3熟悉常用的开源软件(如:nginxlvshapro
sharkyan
·
2013-07-23 10:15
运维
招聘
北京
sina
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他