第三章 寄存器(内存访问)
第四章 第一个程序
ISO C99 1999
ISO C11 2011
十六进制表示法以 0x
或 0X
开头
下图是 十六进制、十进制和二进制值对照表
A = 10 C=12 E=14
more >>用于在同一台计算机上运行的进程间通信。像是套接字和管道的组合
使用 socketpair
函数创建一对无命名的、相互连接的UNIX域套接字
1 | #include <sys/socket.h> |
一对相互连接的UNIX域套接字可以起到全双工管道的作用,两端都对读和写开放
命名UNIX域套接字
就像网络域套接字一样,可以把一个地址绑定到UNIX域套接字上。
UNIX域套接字地址由 sockaddr_un
结构表示
Linux 和 Solaris 实现
1 | struct sockaddr_un { |
FreeBSD 和 Mac OS 实现
1 | struct sockaddr_un { |
绑定地址的时候,系统会使用 sun_path
指定的路径名创建一个文件,如果该文件已经存在,则 bind
请求失败
还要注意的是关闭套接字的时候并不自动删除该文件,所以要在程序退出前对该文件执行解除链接 的操作
开发3个函数,在同一台计算机上的两个无关进程之间建立唯一连接
1 | #include "apue.h" |
serv_listen
函数的 name
参数声明了服务器将在这个文件上监听客户的连接请求,此函数的返回值是用于接收客户连接请求的服务器UNIX域套接字
服务器进程使用 serv_accept
函数等待客户进程连接请求的到达。当客户请求到达时,服务器自动创建一个新的UNIX域套接字并将它与客户端套接字相连
客户进程使用 cli_conn
函数连接至服务器进程,name
参数就是 调用 serv_listen
是指定的 name
,此函数返回值是连接到服务器进程的文件描述符
三个函数的实现:
前段时间买了一块树莓派4B(花了我 1000+ 大洋),正好手头有一套闲置的外设(显示器,键盘和鼠标),就把它当作了一台备用电脑。
平时在 Windows 电脑上查资料,看书,在树莓派上敲代码。有时遇到问题,在 Win 上查到了答案(能解决问题的代码),却没有办法直接 ctrl C
ctrl V
,非常不舒服。所以今天用 python 写了这个 共享剪切板(Shared Clipboard) 小程序。
管道是UNIX系统IPC的最古老形式,它有以下两种局限性
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true