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
uninx环境高级编程
Unix
环境高级编程
第三章文件I/O摘记
文件输入/输出简介Unix系统上的绝大多数文件I/O可以通过使用下面5个函数完成:open,read,write,lseek,和close。本章描述的都是非缓冲I/O(unbufferedI/O)函数。非缓冲意味着每次的读、写都要陷入内核做一次系统调用。文件描述符文件描述符是一个非负整数。对于内核来说,所有打开的文件都用文件描述符表示。方便起见,Unix系统定义文件描述符0为所有进程的标准输入,文
DotJox
·
2020-08-02 21:04
APUE
Unix
环境高级编程
第二章摘记
概述历史上由于版权等原因,上个世纪80年代出现了Unix的多个分支,后来为了有一个统一的标准,美国政府及其他很多团体做了大量标准化工作。Unix标准化ISOC1990年,国际标准化组织ISO和国际电工委员会IEC将ANSIC1989作为了国际标准。现在C标准由WG14这个小组来维护和开发。标准化的内容不止C的语法和语义,还包括C标准库。标准的最近一次更新是在1999年,改进了对数字处理应用的支持,
DotJox
·
2020-08-02 21:04
APUE
开发日记-20190822 关键词 读书笔记《Unix
环境高级编程
(第二版)》《掌控习惯》DAY 2
Preface话说,昨天开始尝试着去改变自己,从基础的习惯开始,11:30准时睡觉,平时差不多12:30才睡觉。按理说,比平时早了一个小时睡觉吧,然后我就把闹钟提前了45分钟,想着还能比平常多睡15分钟,美滋滋。结果,相比平常早起了2个小时。然后明显,早上感觉有些疲劳,看来还需要一些时间适应这个时间差。好习惯的养成和坏习惯的戒除,难度其实都是很大的,不然为什么凡人永远无穷无尽,天才往往凤毛麟角呢?
Ciruy B.Heimerdinger
·
2020-08-01 14:42
日记
读书笔记
linux
ubuntu
掌控习惯
Unix
[UNIX
环境高级编程
]阅读第十三章 守护进程
1简单了解守护进程(daemon)是生存期长的一种进程。常常在系统引导装入时启动,仅在系统关闭时才终止。因为守护进程没有控制终端,所以说它们是在后台运行的。UNIX系统有很多守护进程,它们执行日常事务活动。2.守护进程的特征ps-ajx选项-a显示由其他用户所拥有的进程的状态,-x显示没有控制终端的进程状态,-j显示与作业有关的信息:会话ID、进程组ID、控制终端以及终端进程组ID。UID:用户I
枪枪枪
·
2020-08-01 11:47
UNIX环境高级编程
struct dirent
structdirent{ino_td_ino;off_td_off;unsignedshortd_reclen;unsignedchard_type;chard_name[256];};Unix
环境高级编程
kevin_darkelf
·
2020-07-30 15:54
linux
Linux下串口编程
参考:1.POSIX操作系统串口编程指南2.UNIX
环境高级编程
在Linux下,标准的串口设备节点名为/dev/ttyS*,如果是USB转串口,则为/dev/ttyUSB*,其中'*'代表0、1...这类数字
mcgrady_tracy
·
2020-07-30 12:24
Linux终端传输二进制文件的属性设置
嵌入式中仅仅用到简单的串口功能,但是《unix
环境高级编程
》用了一章来讲终端IO,那么多功能很容易搞混。在此小结一下!
yuanlulu
·
2020-07-29 14:33
linux/操作系统
C/C++
ORB_SLAM2源码阅读(一)概要
见识都在飞速增长,代码一行行看,博客知乎一篇篇刷,书本一本本买,从最最开始的《C++primer》和《21天精通Python》(黑历史)到后面的《概率机器人》《机器学习》《视觉slam十四讲》,以及《Unix
环境高级编程
若愚和小巧
·
2020-07-28 21:17
SLAM算法阅读
unix
环境高级编程
-文件IO
文件IO:大多数文件IO只需要用到5个函数:open,read,write,lseek和close这里描述的函数经常被称为不带缓冲的IO(unbufferedIO),不带缓冲的意思是每个read和write都调用内核中的一个系统调用,这些不带缓冲的IO函数不是ISOC的组成部分,但是却是POSIX的组成。只要涉及在多个进程之间共享资源,那么原子操作的概念就变得非常重要。文件描述符:对于内核而言,所
weixin_34111790
·
2020-07-28 18:57
Unix
环境高级编程
笔记
1、操作系统一种软件,控制计算机硬件资源,提供程序运行环境。2、内核的接口是系统调用。3、我们可以替换库函数,而通常却不能替换系统调用.(比如:库函数malloc用来分配内存,它肯定会调用系统调用中的负责处理器分配的sbrk系统调用.但是我们如果不喜欢malloc函数,我们就可以写自己的内存分配函数.但在我们定义的函数中肯等会用到sbrk系统调用)—–内核中的系统调用sbrk分配另外一块空间给进程
轻枫叶跃
·
2020-07-28 13:13
找工作
UNIX
环境高级编程
读书笔记(2)
UNIX
环境高级编程
第二章读书笔记一、UNIX标准化1.ISOCISOC标准现在由ISO/IEC的C程序设计语言国际标准工作组维护和开发,该工作组称为ISO/IECJTC1/SC22/WG14,简称WG14
theluckykiller
·
2020-07-28 12:12
unix环境高级编程
Unix
环境高级编程
——学习笔记
第七章进程环境引言main函数是如何被调用的?命令行参数是如何传送给执行程序的?典型的存储器布局是什么样式?如何分配另外的存储空间?进程如何使用环境变量?进程终止的不同方式?main函数main函数的原型是:intmain(intargc,char*argv[]);argc:命令行参数的数目。argv:指向各个参数的指针所构成的数组。进程终止(1)正常终止:(a)从main返回。(b)调用exit
nogos
·
2020-07-28 12:05
计算机基础综合
Unix
环境高级编程
读书笔记(4)
1、读取/etc/passwd的函数/etc/passwd每一行用户登录名:加密口令:用户ID:用户组ID:注释字段:起始目录:shellvoidsetpwent(void);//将获取口令重置到第一个structpasswd*getpwent(void);//获取passwd文件中的一个口令,严格的说,是获取下一个口令voidendpwent(void);//关闭由setpwent打开的文件2、
小六神通
·
2020-07-28 03:23
Linux
读书笔记
unix
环境高级编程
-7-进程环境
这两天都没写博客,主要是我想改变一下方法吧。不想一节节的读了,我想把一个整章看好了,然后进行思考,然后再进行编辑写在博客里。我觉得这样可以省的时间来思考,写程序。把每章中最主要的部门拿出来。算是第二遍复习。可以加深我的印象吧。1进程终止进程正常终止:#includevoidexit(intstatus);void_Exit(intstatus);#includevoid_exit(intstatu
iteye_13411
·
2020-07-28 00:48
Unix
环境高级编程
笔记
Unix
环境高级编程
(第二版)学习笔记这是一次较长时间的整理,然而跳跃了一些章节和很多知识点,仍然是很不完善很不全面的。
huaye502
·
2020-07-27 23:42
Unix环境高级编程
unix
环境高级编程
-高级IO(2)
函数readv和writev:这两个函数用于在一次函数调用中读、写多个非连续缓冲区。有时也将这两个函数成散布读(scatterread)和聚集写(gatherwrite)函数readn和writen:管道、FIFO以及某些设备(终端和网络)有以下性质:1.一次read操作所返回的数据可能少于所要求的数据,即使还没达到文件尾端也可能是这样。2.一次write操作的返回值也可能少于指定输出的字节数。这
hahachenchen789
·
2020-07-27 23:07
Linux
UNIX
环境高级编程
学习总结
这些日子学习了一下APUE(AdvancedProgrammingintheUNIX,UNIX
环境高级编程
)。
女粉丝很多的码农
·
2020-07-27 22:13
个人读书笔记
10本 Linux PDF 书籍免费分享
极力推荐文章:欢迎收藏Android干货分享本篇文章主要分享以下Linux开发PDF书籍一、Linux程序设计二、Unix
环境高级编程
三、Unix_Linux编程实践教程四、鸟哥的私房菜五、深入理解Linux
anpaikan3027
·
2020-07-27 19:49
《unix
环境高级编程
》 读书笔记 (7)
目录:http://blog.csdn.net/alex_my/article/details/39346381processcontrol1processidentifiers每一个进程都有一个唯一的非负整型做为标识符。#includepid_tgetpid();pid_tgetppid();pit_tgetuid();pit_tgeteuid();pit_tgetgid();pit_tgete
alex_my
·
2020-07-27 18:04
APUE
UNIX
环境高级编程
笔记 目录
每一章的重点会使用加粗字体第一章:UNIX基础知识:UNIX体系结构;文件和目录;输入和输出;程序和进程;出错处理;信号;时间值;系统调用和库函数第三章:文件I/O:文件描述符;文件操作函数;文件操作示例;I/O的效率;原子操作;dup()和dup2();fcntl();ioctl();其他函数第四章:文件和目录:stat()、fstat()、fstatat()和lstat();文件类型;文件访问
aa508508
·
2020-07-27 18:25
c/c++
网络
UNIX
环境高级编程
笔记之高级I/O
UNIX
环境高级编程
笔记之高级I/O本章说明了很多高级I/O功能:非阻塞I/O——发一个I/O操作,不使其阻塞,记录锁,STREAMS机制I/O多路转接——select和poll函数readv和writev
ZWFGOGO
·
2020-07-27 18:40
Linux驱动
函数exec(UNIX
环境高级编程
笔记)
当进程调用一个exec函数时,该进程执行的程序完全替换成新程序,而新程序从其main函数开始执行。因为调用exec并不创建新进程,所以前后进程的ID并未改变。exec只是用一个磁盘上的新程序替换了当前程序的正文段、数据段、堆段和栈段。 有7种不同的exec函数可供使用,它们通常被称为exec函数,我们可以使用这7个函数中的任一个。 这些函数之间的第一个区别是前4个函数都是以路径名作为参数,
The_perfect_world
·
2020-07-27 17:44
UNIX环境高级编程
linux
文件访问权限(UNIX
环境高级编程
笔记)
st_mode值也包含了对文件的访问权限位。所有文件类型都有访问权限(accesspermission)。 st_mode屏蔽 含义S_IRUSRS_IWUSRS_IXUSR用户读用户写用户执行S_IRGRPS_IWGRPS_IXGRP组写组读组执行S_IROTHS_IWOTHS_IXOTH其他读其他写其他执行 chmod(1)命令用于修改这九个权限为,该命令允许我们用u表示
The_perfect_world
·
2020-07-27 17:13
UNIX环境高级编程
linux
main函数(UNIX
环境高级编程
笔记)
C程序总是从main函数开始执行。main函数的原型是:intmain(intargc,char*argv[]); 其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。 当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程。可执行程序文件将此启动例程指定为程序的起始地址——这是由连接编辑器设置的,而连接编辑器则由C编译器调用。启动例程
The_perfect_world
·
2020-07-27 17:13
UNIX环境高级编程
linux
系统调用和库函数(UNIX
环境高级编程
笔记)
所有的操作系统都提供多种服务的入口点,由此程序向内核请求服务。各种版本的UNIX实现都提供良好定义、数量有限、直接进入内核的入口点,这些入口点被称为系统调用(systemcall)。 UNIX所使用的的技术是为每个系统调用在标准C库中设置一个具有相同名字的函数。用户进程用标准C调用序列来调用这些函数,然后函数有用系统所要求的技术调用相应的内核服务。 通用库函数在可能会调用一个或多个内核的系
The_perfect_world
·
2020-07-27 17:12
UNIX环境高级编程
linux
《UNIX
环境高级编程
》笔记--会话
会话(session)是一个或者多个进程组的集合。可以具有下图所有的安排,其中,一个会话中有3个进程组。上图的安排可能由以下形式的shell命令形成的:proc1|proc2&proc3|proc4|proc5进程调用setsid函数建立一个新会话。#includepid_tsetsid(void);//若成功则返回进程组ID,出错则返回-1.1.如果调用此函数的进程不是一个进程组组长,则此函数就
TODD911
·
2020-07-27 17:28
《UNIX环境高级编程》笔记
UNIX环境高级编程
《UNIX
环境高级编程
》笔记--定位流
有三种方法可以定位流。1.ftell函数和fseek函数这两个函数自V7依赖就存在了。但是它们假定文件的位置可以存放在一个长整型中。函数声明如下:#includelongftell(FILE*fp);//如果成功返回当前文件位置指示,出错则返回-1.intfseek(FILE*fp,longoffset,intwhence);//如果成功则返回0,出错则返回非0值。voidrewind(FILE*
TODD911
·
2020-07-27 17:24
《UNIX环境高级编程》笔记
UNIX环境高级编程
《UNIX
环境高级编程
》笔记--读和写流
一旦打开了流,则可以对流进行读写:每次一个字符,每次一行,二进制。1.每次一个字符使用下面三个函数用于一次读一个字符。#includeintgetc(FILE*fp);intfgetc(FILE*fp);intgetchar(void);如果成功返回读取到的字符,出错或者到达文件结尾则返回EOF(一般为-1)。getc为宏,fgetc为函数,getchar等价于fgetc(stdin)。注意:不管
TODD911
·
2020-07-27 17:24
《UNIX环境高级编程》笔记
UNIX环境高级编程
UNIX
环境高级编程
之一:IO
一、UNIX操作系统概述上图是UNIX操作系统的基本架构。操作系统最核心的部分就是内核(kernel),内核暴露出了一系列接口——即系统调用(systemcall)——供外部调用,不同的操作系统内核提供了不同的系统调用接口。我们的应用程序可以直接使用系统调用;也可以不直接使用系统调用,而直接使用在系统调用之上做了一层封装的库或软件,例如上图中的shell和库。举个例子,在Linux系统中,要实现往
ponnylv
·
2020-07-27 12:07
Linux系统编程
linux
UNIX
环境高级编程
———第三章习题
1.当读/写磁盘文件时,本章中描述的函数确实是不带缓存机制的吗?答:首先我们来说明缓存的:不带缓存的I/O和带缓存的I/O(标准I/O)(1)不带缓存的I/O:数据——内核缓存区——磁盘(硬盘);只有系统调用;文件描述符当进行读写操作时,数据直接进行系统调用(read,write),进入内核缓存区,然后等待内核缓存存满之后将数据写入到磁盘。假如内核缓存区在缓存满10个字节就将数据写入到磁盘,假设我
默存_lott
·
2020-07-16 02:05
APUE知识点整理
UNIX
环境高级编程
——第四章-文件和目录
4.2函数stat、fstat、lstat1、函数原型:#includeintstat(constchar*restrictpathname,structstat*restrictbuf);intfstat(intfd,structstat*buf);intlstat(constchar*restrictpathname,structstat*restrictbuf);intfstatat(int
kingolie
·
2020-07-16 01:09
APUE学习笔记
文件锁的本质核心和原理
根据《Unix
环境高级编程
》对打开文件的介绍,打开的文件在进程表和操作系统中的对应的结构如下图所示:每个进程在进程表中都一个对应的项目,叫做进程表项,上图是最左边展示了进程表中两进程表项,分别对应两个独立的进程
junwua
·
2020-07-16 01:30
嵌入式Linux项目:电子书(1)
涉及知识点:Unix
环境高级编程
,线程的使用,网络通信TCP/IP协议,LCD显示设备的使用,程序的模块化编程,Makefile框架,数据结构:链表,环形表。库的安装与使用。
LeonRunningNoob
·
2020-07-15 18:57
嵌入式Linux
解决Unix
环境高级编程
示例中的 undefined reference to `err_quit'
在编译APUE书中的例子(Page290,程序清单11-1打印线程ID)时,出现如题所述错误,使用的编译命令为$gcc-oprint_thread_idprint_thread_id.c-lpthread#include"apue.h"#includepthread_tntid;voidprintids(constchar*s){pid_tpid;pthread_ttid;pid=getpid()
DavidYuxuan
·
2020-07-15 17:12
Linux
Linux后端开发
4.熟悉底层,计算机体系结构程序员的自我修养—链接、装载与库深入理解计算机系统5.熟悉Linux系统编程UNIX
环境高级编程
UNIX网络编程_卷2_进程间通信6.学习
有时需要偏执狂
·
2020-07-15 15:05
心情
linux后台开发必看书
原文出自:http://blog.chinaunix.net/u3/97858/showart_2015110.html程序设计类《C++PRIMER》系统编程类《UNIX
环境高级编程
》W.RichardStevens
seven070707
·
2020-07-15 15:58
《深入理解计算机系统 2nd》部分读书笔记---第9章 虚拟存储器(未完成)
这两个抽象很重要,对理解《Windows核心编程5th》和《Unix
环境高级编程
2nd》两书中描述的一些机制很有帮助。虚拟存储器虚拟存储器是硬件异常、硬件地址翻译、主存、磁
劉俊
·
2020-07-15 14:41
C/C++
Windows程序设计
Linux编程
未完成
读书笔记
操作系统
zz《栈的缓冲区溢出详解》
1.C程序地址空间布局先上一张老生常谈的图(来自《Unix
环境高级编程
》)。地址空间布局2.函数调用stdcall和cdecl要理解栈的缓冲区溢出,对栈的结构要非常熟悉。
chenxuanhanhao
·
2020-07-15 14:33
Unix
环境高级编程
-学习笔记
Unix系统高级编程程序由业务逻辑和系统访问两部分构成的。其中,业务逻辑是根据业务需求,按照设计好的逻辑规则,处理信息,与系统(平台)无关的;而系统访问则是利用操作系统所提供的各种功能,来辅助业务逻辑的实现,是跟系统相关的(平台相关性)。使用标准库函数(如scanf/printf)实现的程序,可以做到源码级兼容,因为标准库函数的实现虽然基于系统函数,但是直接使用标准库函数时是不需要考虑系统函数的,
javi.wang
·
2020-07-14 06:21
Unix-C
Linux编程基础
以下内容摘自UNIX
环境高级编程
(第3版)errnoerrno–numberoflasterrorC标准定义了两个函数,它们用于打印出错信息#includechar*strerror(interrnum
zhangke96
·
2020-07-13 23:04
apue抄书
linux操作系统及内核
自己的一点总结,把知识重新编码~一、操作系统概述在RichardStevens的unix
环境高级编程
中这样定义“它控制计算机硬件资源,提供程序运行环境。
ysu108
·
2020-07-13 23:18
操作系统
linux下socket实现多个客户端与服务器的通信
学习完《UNIX
环境高级编程
》套接字一章的内容之后,自己实现了单个客户端与服务器的通信程序,后面想想要是多个客户端如何与服务器通信呢?这就有了这篇文章。
wdlove58
·
2020-07-13 16:10
UNIX环境高级编程
Unix
环境高级编程
第三版源码编译错误
编译书本上的源代码遇到如下问题:1.systype.shapue.3emakeforiinlibintrosocketsadviodaemonsdatafilesdbenvironfileiofilediripc1ipc2procptyrelationsignalsstandardsstdiotermiosthreadctlthreadsprinterexercises;do(cdi&&echo"
JXES
·
2020-07-13 06:47
Linux系统编程
《UNIX
环境高级编程
》第14章 高级IO
14.1引言本章涵盖众多概念和函数,将是后几章的基础。14.2非阻塞IO10.5节中曾将系统调用分成两类:“低速”系统调用和其他。低速系统调用是可能会使进程永远阻塞的一类系统调用,包括:如果某些文件类型的数据并不存在,该操作可能会使调用者永远阻塞;如果数据不能被相同的文件类型立即接受,写操作可能会使调用者永远阻塞;在某种条件发生之前打开某些文件类型可能会发生阻塞;对已经加上强制性记录锁的文件进行读
jrc_january
·
2020-07-13 06:46
Linux笔记
unix
环境高级编程
之线程篇(二)
本片文章着重讲解线程同步,但是由于时间仓促,例子还是欠缺,会在下次补上。四、线程同步1、互斥量互斥量(mutex)本质是一般锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量的锁。对互斥量进行加锁以后,任何尝试再次对互斥量加锁的线程将会被阻塞直到当前线程释放该互斥锁。如果释放互斥锁时有多个线程阻塞,所有在该互斥锁上的阻塞线程都会变成可运行状态,第一个变为运行状态的线程对互斥量加锁,其他线
愤怒的呆鱼
·
2020-07-13 03:29
原创
pthread
Linux
unix
环境高级编程
之信号篇(二)
六、信号未决(pending)和信号屏蔽字(signalmask)当产生信号,并将信号传递给进程,我们说向进程递送了一个信号。在信号产生和递送之间的时间间隔内,称为信号是未决的。进程可以选用信号递送阻塞。如果为进程产生了一个选择为阻塞的信号,则改进程将此信号保持为未决状态,直到该进程解除对此信号的阻塞或者将此信号的动作更改为忽略。内核在递送一个被阻塞的信号给进程时(非产生信号时),才决定对他的处理
愤怒的呆鱼
·
2020-07-13 03:29
原创
Linux
signal
unix
环境高级编程
之线程篇(一)
这篇文章先讲一些线程标识和创建,会在下一篇文章中介绍线程同步。本章介绍线程篇,第一篇先着重讲线程标识,创建,终止以及一些需要注意的东西,后续继续更新线程同步。一、线程标识就像每个进程拥有一个自己的进程ID一样,每个线程也拥有自己的一个线程ID。进程ID在整个系统中是唯一的,但是线程ID不同,它只在它所属的进程环境中有效。进程id有个数据类型pid_t来表示,他是个非负整数。线程id则用pthrea
愤怒的呆鱼
·
2020-07-13 03:29
原创
Linux
pthread
unix
环境高级编程
之信号篇(一)
文章是我读《Unix
环境高级编程
》这本书的一些笔记,大部分保持了原文,还加了一些自己的解释,转载请注明!!一、引言:信号是软件中断,很比较重要的应用程序都需要处理信号。
愤怒的呆鱼
·
2020-07-13 03:28
原创
Linux
signal
02-学习路径:爬过这六个陡坡,你就能对 Linux 了如指掌
第二个坡:通过系统调用或者glibc,学会自己进行程序设计如果要进一步学习Linux程序设计,推荐你阅读《UNIX
环境高级编程
》,这本书有代码,有介绍,有原理,非常实用。
Leooeloel
·
2020-07-13 00:48
linux下多线程编程,各种锁,信号量
转自http://mingxinglai.com/cn/2013/06/mutil-threads/最近研究mysql源码,各种锁,各种互斥,好在我去年认真学了《unix
环境高级编程
》,虽然已经忘得差不多了
moonwindlight
·
2020-07-13 00:34
linux
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他