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环境高级编程
嵌入式软件开发必看书籍推荐(C/C++、linux、软件开发)
《c++程序设计》《C++primerplus》第六版《EffectiveC++》《C++STL标准程序库开发指南》《C++标准模板库编程实践》2.Linux2.1应用程序设计《Linux程序设计》《
UNIX
良知犹存
·
2020-07-04 23:41
C/C++
信号量(
UNIX环境高级编程
笔记)
信号量是一个计数器,用于为多个进程提供对共享数据对象的访问。 为了获得共享资源,进程需要执行下列操作: (1)测试控制该资源的信号量。 (2)若此信号量的值为正,则进程可以使用该资源,在这种情况下,进程会将信号量值减1,表示它使用了一个信号量的资源。 (3)否则,若此信号量的值为0,则进程进入休眠状态,直至信号量值大于0,进程被唤醒之后,将返回步骤(1)。 常用的信号量形式被称为二元
The_perfect_world
·
2020-07-04 08:04
UNIX环境高级编程
linux
UNIX环境高级编程
——system V信号量
1.信号量(semaphore)主要用于保护临界资源。进程可以根据它判断是否能访问某些共享资源。信号量除了用于访问控制外,还可用于进程同步,也就是进程间通信。2.信号量分类:a.二值信号量:信号量的值只能取0或1,类似于互斥锁mutex,但两者又不同:mutex与二值信号量的区别:信号量强调共享资源,只要共享资源可用,其他进程同样可以修改信号量的值;互斥锁更强调进程,占用资源的进程使用完资源后,必
weixin_33969116
·
2020-07-04 03:36
嵌入式软件开发必看书籍推荐(C/C++、linux、软件开发)
《c++程序设计》《C++primerplus》第六版《EffectiveC++》《C++STL标准程序库开发指南》《C++标准模板库编程实践》2.Linux2.1应用程序设计《Linux程序设计》《
UNIX
crazy_baoli
·
2020-07-04 02:50
others
嵌入式软件开发书籍
c
linux
软件开发
Linux串口编程(中断方式和select方式)
这里可以参考《
UNIX环境高级编程
》中的第14章高级I/O和第
schumi2000
·
2020-07-04 01:33
linux驱动
2015~2016年学习计划
1《高质量C++/C编程指南》林锐编程基础和数据结构2《深入理解计算机系统》第二版3《算法导论》第三版4《代码大全》5《
Unix环境高级编程
》6《TCP/IP详解卷1:协议》网络编程7《TCP/IP详解卷
lightd
·
2020-07-04 00:37
嵌入式Linux
《
UNIX环境高级编程
》(APUE) 笔记第十七章 - 高级进程间通信
17-高级进程间通信Github地址1.UNIX域套接字UNIX域套接字用于在同一台计算机上运行的进程之间的通信,它可以在同一计算机系统上运行的两个进程之间传送打开的文件描述符。UNIX域套接字仅仅复制数据,它们并不执行协议处理,不需要添加或删除网络报头,无需计算校验和,不要产生顺序号,无需发送确认报文。所以比因特网域套接字效率更高。UNIX域套接字提供流和数据报两种接口。UNIX域数据报服务是可
BrianLeeLXT
·
2020-07-02 19:00
《
UNIX环境高级编程
》(APUE) 笔记第十六章 - 网络IPC:套接字
16-网络IPC:套接字Github地址1.网络IPC经典进程间通信机制(IPC):管道、FIFO、消息队列、信号量和共享存储,允许在同一台计算机上运行的进程之间通信。网络进程间通信是不同计算机(通过网络连接)上的进程相互通信的机制。(也可用于计算机内通信)2.套接字描述符套接字是通信端点的抽象,应用程序用套接字描述符访问套接字。套接字描述符在UNIX系统中被当作是一种文件描述符。使用socket
BrianLeeLXT
·
2020-07-02 17:00
《
UNIX环境高级编程
》(APUE) 笔记第十五章 - 进程间通信
15-进程间通信Github地址1.进程间通信进程间通信(IPC)是进程之间相互通信的技术:前十种IPC形式通常限于同一台主机的两个进程之间的IPC,最后两行(套接字和STREAMS)是仅有的支持不同主机上两个进程之间的IPC的两种形式。2.管道2.1管道概念管道是UNIX系统IPC的最古老形式。管道的两种局限性:有的系统仅提供半双工通道管道只能在具有公共祖先的两个进程之间使用。通常,一个管道由一
BrianLeeLXT
·
2020-07-02 16:00
《
UNIX环境高级编程
》(APUE) 笔记第十四章 - 高级I/O
14-高级I/OGitHub地址1.非阻塞IO非阻塞I/O使我们可以发出open、read和write这样的I/O操作,并使这些操作不会永远阻塞。如果这种操作不能完成,则调用立即出错返回,表示该操作如继续执行将阻塞。对于一个给定的描述符,有两种为其指定非阻塞I/O的方法:如果调用open获得描述符,则可指定O_NONBLOCK标志对于已经打开的一个描述符,则可调用fcntl,由该函数打开O_NON
BrianLeeLXT
·
2020-07-02 12:00
记录一下后几年要看的书
在学编译原理前最好先学下yacc和lex基础知识:深度探索C++对象模型C程序设计语言数据结构与算法(这方面的书感觉很多,但是可能自己理解力不够,感觉都不怎么适应,接下来再找找)STL源码剖析操作系统:
unix
linyilong3
·
2020-07-02 08:53
《
UNIX环境高级编程
》(APUE) 笔记第十三章 - 守护进程
13-守护进程GitHub地址1.守护进程守护进程(daemoon)是生存期长的一种进程。常常在系统引导装入时启动,仅在系统关闭时才终止。它们是在后台运行的,没有控制终端。UNIX有很多守护进程,它们执行日常事务活动。2.守护进程的特征内核进程:父进程ID为\(0\)的各进程通常是内核进程,它们作为系统引导装入的一部分而启动。内核守护进程:对于需要在进程上下文执行工作但却不被用户层进程上下文调用的
BrianLeeLXT
·
2020-07-01 22:00
[C] dirent.h库函数以及extern语法的介绍
问题前导我在读《
Unix环境高级编程
》的第一章,其中给出了一个Unix环境下ls命令的简单例子:#include#include"apue.h"intmain(intargc,char*argv[]){
Muge_
·
2020-07-01 19:13
C
《
UNIX环境高级编程
》(APUE) 笔记第十二章 - 线程控制
12-线程控制GitHub地址1.线程限制下图为与线程操作有关的一些限制:可以通过sysconf函数进行查询。2.线程属性可使用pthread_attr_t结构修改线程默认属性,并把这些属性与创建的线程联系起来。初始化和反初始化:#includeintpthread_attr_init(pthread_attr_t*attr);intpthread_attr_destroy(pthead_attr
BrianLeeLXT
·
2020-07-01 11:00
MIT6.828/6.S081 - 2019:MacOS下搭建xv6和risc-v环境
介绍只有了解底层原理才能写好上层应用,曾经几度想要系统地学习OS课程,尝试去看了《计算机操作系统》、《OperatingSystems:ThreeEasyPieces》、《
UNIX环境高级编程
》,均以半途而废告终
Physicaloser
·
2020-07-01 07:14
操作系统
Unix网络编程之-------unp.h头文件详细配置-1
unix网络编程unp.h最详细全面配置说明今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作
Unix环境高级编程
,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我们自己系统没有包括进去
清风lsq
·
2020-07-01 02:11
网络编程
linux
c
c++
《
UNIX环境高级编程
》(APUE) 笔记第十一章 - 线程
11-线程Github地址1.线程概念典型的UNIX进程可以看成只有一个控制线程:一个进程在某一时刻只能做一件事情。有了多个控制线程,就可以把进程设计成在某一时刻能够做不止一件事,每个线程处理各自独立的任务。每个线程都包含有表示执行环境所必需的信息:进程中表示线程的线程ID一组寄存器值栈调度优先级和策略信号屏蔽字errno变量线程私有数据一个进程所有信息对该进程的所有线程都是共享的:可执行程序的代
BrianLeeLXT
·
2020-06-30 20:00
《
UNIX环境高级编程
》(APUE) 笔记第十章 - 信号
10-信号GitHub地址1.信号信号是软中断,信号提供了一种处理异步事件的方法。当造成信号的事件发生时,为进程产生一个信号(或向进程发送一个信号)。事件可以是硬件异常(如除以\(0\))、软件条件(如alarm定时器超时)、终端产生的信号或调用kill函数。每个信号都有一个名字,以\(3\)个字符SIG开头,定义在头文件中。信号名都被定义为正整数常量(信号编号),不存在编号为\(0\)的信号(空
BrianLeeLXT
·
2020-06-30 16:00
《
Unix环境高级编程
》学习笔记——高级IO
一、引言高级IO包含很多内容,如非阻塞IO、记录锁、IO多路转接(select和poll函数)、异步IO、readv和writev函数以及存储映射IO(mmap)等。二、非阻塞IO非阻塞IO使我们可以发出open、read和write这样的I/O操作,并使这些操作不会永远阻塞。它的特点是:进程轮询(重复)调用,消耗CPU资源。(阻塞式IO被阻塞时会挂起,不会消耗CPU资源)实现难度低,开发应用相对
Star_Ship
·
2020-06-30 16:21
操作系统——Linux
Linux C 编程
以下内容全部摘自
UNIX环境高级编程
(第3版)用名字打开任意类型的文件时,对该名字中包含的每一个目录,包括它可能隐含的当前工作目录都应具有执行权限例如,为了打开文件/usr/include/stdio.h
zhangke96
·
2020-06-30 14:01
apue抄书
《
UNIX环境高级编程
》(APUE) 笔记第九章 - 进程关系
9-进程关系GitHub地址1.进程组每个进程除了有一个进程ID外,还属于一个进程组。进程组是一个或多个进程的集合,通常,它们是在同一作业中结合起来的,同一进程组中的各进程接受来自同一终端的各种信号。每一个进程组有一个唯一的进程组ID。函数getpgrp返回调用进程的进程组ID:#includepid_tgetpgrp(void);//返回值:调用此函数的进程的进程组ID函数getpgid用于获取
BrianLeeLXT
·
2020-06-30 11:00
UNIX环境高级编程
源代码编译报错barrier.c:(.text+0x80): undefined reference to `heapsort'
开发环境:CentOS-7.7-1908,gccversion4.8.520150623UNIX高级环境编程的源代码下载地址:http://apuebook.com/code3e.html源代码压缩包:src.3e.tar.gz在CentOS-7.7下解压源代码文件后进行编译,报错信息为:gcc-ansi-I../include-Wall-DLINUX-D_GNU_SOURCEbarrier.c-
yuesichiu
·
2020-06-30 10:25
嵌入式Linux
Swoole学习-Swoole入门指南
深入书籍:《
unix环境高级编程
(中文第三版)》;《unix网络编程卷1:套接字联网》;《unix网络编程卷2:进程间通信》。版本已更新至4.3.x。swoole2.0增加协程。sw
云焰
·
2020-06-30 05:05
性能优化
UNIX环境高级编程
(第三版)apue.h配置 以及 等等
(直接在shell上操作)先下载解压curl-Ohttp://www.apuebook.com/src.3e.tar.gztar-zxvfsrc.3e.tar.gzcdapue.3ecatREADMEcatDISCLAIMERmake把make生成的apue.h与静态链接库libapue.a放到系统指定寻找的地方:cp./include/apue.h/usr/include/cp./lib/lib
_哼哼哈嘿
·
2020-06-29 22:30
linux
《
UNIX环境高级编程
》(APUE) 笔记第八章 - 进程控制
8-进程控制Github地址1.进程标识每个进程都有一个非负整型表示的唯一进程ID。进程ID是可复用的(延迟复用算法)。ID为\(0\)的进程通常是调度进程,常常被称为交换进程(swapper)。该进程是内核的一部分,它并不执行任何磁盘上的程序,因此也被称为系统进程。ID为\(1\)通常是init进程,负责在自举内核后启动一个UNIX系统。init进程决不会终止,它是一个普通的用户进程(不是内核中
BrianLeeLXT
·
2020-06-29 17:00
java并发编程学习---之一
由于之前的话是做C++client端的编程,一个application直接在一个process里完成的,没有接触到thread相关的知识(相关的同步,锁都是在
UNIX环境高级编程
里学
lzh2nix
·
2020-06-29 14:06
《
UNIX环境高级编程
》(APUE) 笔记第七章 - 进程环境
7-进程环境Github地址1.main函数C程序总是从main函数开始执行:intmain(intargc,char*argv[]);\(argc\)为命令行参数的数目,\(argv\)是指向参数各个指针所构成的数组。内核使用一个exec函数执行C程序,在调用main前先调用一个特殊的启动例程。可执行程序文件将此例程指定为程序的起始地址,启动例程在调用main函数前从内核获取命令行参数和环境变量
BrianLeeLXT
·
2020-06-29 12:00
《
UNIX环境高级编程
》(APUE) 笔记第五章 - 标准I/O库
5-标准I/O库Github地址1.标准I/O库作用缓冲区分配以优化的块长度执行I/O等使用户不必担心如何选择使用正确的块长度标准I/O最终都要调用第三章中的I/O例程。2.流和FIFE对象当用标准I/O库打开或创建一个文件时,使一个流与一个文件相关联。(类比于文件I/O和文件描述符)标准I/O文件流可用于单字节或多字节(“宽”)字符集。流的定向决定了所读、写的字符是单字节还是多字节的。本书只涉及
BrianLeeLXT
·
2020-06-29 01:00
《
UNIX环境高级编程
》(APUE) 笔记第四章 - 文件和目录
4-文件和目录1.函数stat、fstat、fstatat和lstat#inlcudeintstat(constchar*restrictpathname,structstat*restrictbuf);intfstat(intfd,structstat*buf);intlstat(constchar*restrictpathname,structstat*restrictbuf);intfsta
BrianLeeLXT
·
2020-06-28 22:00
《
UNIX环境高级编程
》(APUE) 笔记第三章 - 文件I/O
3-文件I/OGithub地址1.文件描述符对于内核而言,所有打开的文件都通过文件描述符(filedescriptor)引用。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传送给read或者write。UNIX系统shell把文件描述符\(0\)与进程的标准输入(STDIN_FILENO)关联
BrianLeeLXT
·
2020-06-28 18:00
《
UNIX环境高级编程
》(APUE) 笔记第一章 - UNIX基础知识
1-UNIX基础知识Github地址1.操作系统可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。通常将这种软件称为内核(kernel)。(Linux是GNU操作系统的内核)内核的接口是系统调用(systemcall),公用函数库构建在系统调用之上,应用程序既可以调用公用函数库,也可以使用系统调用。shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。2.shells
BrianLeeLXT
·
2020-06-28 12:00
POSIX线程同步
请看
UNIX环境高级编程
P299页#include#include#include//线程1void*thread_func1(void*arg);//线程2void*thread_func2(void
weixin_34032621
·
2020-06-28 10:58
UNIX环境高级编程
——网络基础概念
TCP协议分成两个不同的协议:1、网络传输中差错的传输控制协议TCP2、专门负责对不同网络进行互联的互联网协议IP网络体系结构概念:网络体系结构即是指网络的层次结构和每层所使用协议的集合OSI:(OpenSystemInterconnectReferenceModel)ISO:国际标准化组织(InternationalStandardizationOrganization)TCP/IP:(传输控制
helloxielan
·
2020-06-28 04:05
多线程操作哈希表避免死锁
copy自《
UNIX环境高级编程
》图11.11。
Rock_N_Roll_
·
2020-06-27 07:06
Linux与网络编程
Unix网络编程读书笔记(一)
之前终于把
unix环境高级编程
这本书过了一遍,其中介绍的内容不少,有些内容一下子还接受不了。算了,就先这样吧,以后用到的时候再详细研究吧。今天开始看看Unix网络编程这本书。
mazinkaiser1991
·
2020-06-27 05:56
读书笔记
《
unix环境高级编程
》--- 伪终端
讲解:https://www.cnblogs.com/zzdyyy/p/7538077.html伪终端对于一个应用程序而言,看上去像一个终端,但事实上伪终端并不是一个真正的终端。从内核角度看,伪终端看起来像一个双向管道,而事实上Solaris的伪终端就是用STREAMS构建的。伪终端总是成对地使用的,就好像是个管道的两端。一端的设备称为”主设备”(master),另一端的设备称为”从设备”(sla
谛听-
·
2020-06-27 03:10
Linux编程
《
unix环境高级编程
》--- 进程间通信
管道1、半双工,即数据只能在一个方向上流动。2、只能在具有公共祖先的进程间使用。下图显示父进程关闭读端(fd[0]),子进程关闭写端(fd[1])后的管道流向。创建一个从父进程到子进程的管道,由父进程向子进程发送数据。#include"apue.h"intmain(void){intn;intfd[2];pid_tpid;charline[MAXLINE];/*intpipe(intfiledes
谛听-
·
2020-06-27 03:10
Linux编程
《
unix环境高级编程
》--- 高级I/O
长的非阻塞write从标准输入读500000字节,并试图写到标准输出。先将标准输出设置为非阻塞,然后用for循环输出,每次write调用的结果都在标准出错上打印。#include"apue.h"#include#includecharbuf[500000];intmain(void){intntowrite,nwrite;char*ptr;ntowrite=read(STDIN_FILENO,bu
谛听-
·
2020-06-27 03:09
Linux编程
计算机书籍推荐
数据结构与算法算法数据结构与算法分析编程珠玑剑指Offer操作系统现代操作系统深入理解计算机系统鸟哥的Linux私房菜
Unix环境高级编程
Unix/Linux编程实践教程OperatingSystems
三名狂客
·
2020-06-27 02:32
IT杂谈日记
fork后父子进程共享资源
fork后父子进程共享资源
Unix环境高级编程
中8.3节中说,“子进程是父进程的副本。例如,子进程获得父进程数据空间、堆和栈的副本。注意,这是子进程所拥有的副本。
薛离子
·
2020-06-26 18:11
Linux
计算机专业书籍推荐
计算机专业书籍推荐Linux编程:《鸟哥Linux私房菜》最权威的Linux书籍之一《Linux系统编程》对常用API讲述最详细的一本书《
UNIX环境高级编程
》经典《TheLinuxProgrammingInterface
printf("dream");
·
2020-06-25 20:44
程序人生
萌新带你开车上p站(终极番外)
这里顺便真心安利一本书,《
UNIX环境高级编程
》,简称APUE书里介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程
合天智汇
·
2020-06-25 13:38
经验分享
unix环境高级编程
基础知识--信号
1,信号是软件中断,也就是指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。说白了就是程序执行中的中断,而非硬件cpu的中断。2,信号处理及动作1,忽略此信号,不推荐2,捕捉信号3,执行系统默认动作,(可以理解为跳到指定中断函数)、这里叫信号处理程序3,signal函数#includevoid(*signal(intsigno,void(*func)(int)))(i
当霸气遇到侧漏
·
2020-06-25 05:51
嵌入式
linux
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《LinuxC程序设计大全》,《
unix环境高级编程
》参考:C和指针学习说明:本文非常的长,也是为了便于查找和比较
qinglongyun
·
2020-06-24 22:25
《UNIX编程艺术》--读书笔记
查看原文地址公司入职前安排了读书环节,后台开发类推荐了一下书籍:C++Primer
Unix环境高级编程
(APUE)Unix网络编程1/2卷(UNP)TCP/IP协议详解深入理解计算机系统EffectiveC
mylq
·
2020-06-24 16:13
读书笔记
《
UNIX环境高级编程
》(第二版)找不到apue.h问题
《
UNIX环境高级编程
》(第二版)这本书,实例程序中都包含头文件apue.h,寻找linux/usr/include中,缺找不到此头文件,因此编译时会出错。
慕希颜
·
2020-06-24 16:15
Linux
unix环境高级编程
APUE.H最简单编译方法(第二版) Linux和Ubuntu
/********************************************************************************第0种-最简单实用********************************************************************************/.1.直接进入源码目录的lib目录cdlib2.执行mak
m_ii_m
·
2020-06-24 15:33
Unix学习
《
UNIX环境高级编程
》阅读笔记
这本书后续需要再读一遍第一章UNIX基础知识1、文件描述符通常是一个小的非负整数,内核用以标识一个特定进程正在访问的文件。2、open、read、write、lseek以及close提供了不带缓冲的IO。标准I/O函数为那些不带缓冲的I/O函数提供了一个带缓冲的接口。3、程序是一个存储在磁盘上某个目录的可执行文件,内核使用exec函数将程序读入内存,并执行程序。进程是程序的一个执行实例。线程,某一
聆听--风雨
·
2020-06-24 09:32
Linux
C++
读书笔记
2017年阅读统计
,占比35.1%三星图书8本,占比21.6%两星图书1本,占比2.7%标签统计:软件开发12本历史7本政治5本文学3本教育3本法学2本经济1本设计1本思维1本人类学1本科学1本软件开发:12本No.1
UNIX
飘飘白云
·
2020-06-24 00:38
读书新知
《APUE》:对各个标准I/O流打印缓冲状态
《
Unix环境高级编程
》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。
iteye_461
·
2020-06-23 19:12
APUE/UNP
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他