pseudo-terminal 基础一

2019-07-12
阅读 13 分钟
5.2k
The openpty() function finds an available pseudo-terminal and returns file descriptors for the master and slave in amaster and aslave. If name is not NULL, the filename of the slave is returned in name. If termp is not NULL, the terminal parameters of the slave will be set to the values in termp....

图像格式PPM/PGM/PBM剖析及代码实现 -- 视频和图像编程基础之一

2018-09-18
阅读 9 分钟
8.7k
这三种格式其实是一样的描述方法,只不过 PBM 是单色,PGM 是灰度图,PPM 使用 RGB 颜色。每个文件的开头两个字节(ASCII 码)作为文件描述符,指出具体格式和编码形式。

YUV格式剖析以及与RGB的转换实现 -- 视频和图像编程基础之二

2018-09-18
阅读 11 分钟
11.9k
YUV是编码true-color时使用的颜色空间(color space)之一. 像Y'UV, YUV, YCbCr, YPbPr等都可以称为YUV, 彼此之间有重叠。

进程间通信之匿名管道阐述

2017-08-26
阅读 5 分钟
3.4k
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。如下图所示。

IEEE754浮点表示法详解

2017-08-25
阅读 5 分钟
26.7k
目前流行都是上层的语言和框架,通常情况下其实我们并不需要去了解底层实现。但有时候我们会遇到一些奇怪的错误,不了解底层实现的话就无法想通。比如下面一个C的例子

对于fork()用法的初步探讨

2017-08-19
阅读 6 分钟
6.2k
现代CPU太快了,所有的资源(RAM, device, bus..)都无法填满它。所以有多个任务时,CPU就轮流着来处理。得到CPU资源时,其他总线,显卡,RAM等等都要准备好,这样就构成了我们程序执行的上下文。等执行完或CPU分配给它的时间用完了,它就要被切换出去,等待CPU的下一次临幸。当然切换出去之前会保存上下文。所以从CPU的...

命名管道的阻塞和非阻塞模式的初步探讨

2017-08-18
阅读 10 分钟
11.5k
进程间通信(IPC, InterProcess Communication)是指在不同进程之间传播或交换信息。主要的方式有管道(包括无名管道,高级管道和命名管道),消息队列, 信号量, 共享内存, Socket等。 其中Socket可以用于不同主机上的进程间通信。进程通信的主要目的如下:

Verilog PLI介绍及运行NC的三种方法

2017-08-10
阅读 4 分钟
10k
Verilog PLI(Programming Language Interface )是一种Verilog代码调用C/C++函数的机制。它能让Verilog像调用一些系统调用(如$display/$stop/$random)一样调用用户编写的C/C++函数,这样我们可以用C/C++语言开始自己的system task/function, 来实现用verilog不太方便的功能,并与外界建立了联系。PLI可以完成如下功能: