Linux 环境编程:errno的基本用法】的更多相关文章

Linux环境编程相关的文章 好几年没有接触Linux环境下编程了,好多东西都有点生疏了.趁着现在有空打算把相关的一些技能重拾一下,顺手写一些相关的文章加深印象. 因为不是写书,也受到许多外部因素限制,可能介绍不会很系统和详细,不过大都是一些基础知识,对于新手入门应该还是有点帮助的(因为我也相当于重学嘛^_^),感兴趣的朋友可以看一下: 相关文章如下(持续更新中): Linux编程简介——VI Linux编程简介——gcc Linux编程简介——静态链接库 Linux编程简介——动态链接库 Li…
写在前面 在开发的过程中,大多数人都需要对代码进行测试.目前对于c/c++项目,可以采用google的gtest框架,除此之外在github上搜索之后可以发现很多其他类似功能的项目.但把别人的轮子直接拿来用,终究比不过自己造一个同样功能的轮子更有成就感.作为"linux环境编程"系列文章的第一篇,本篇文章记录了如何用较少的代码实现一个可用的单元测试框架,这个测试框架将一直在后续系列文章中的代码实例环节使用,并且在使用过程中不断完善和改进.相比于文字说明,我相信有人更喜欢直接看代码实现,…
背景 在Unix环境编程中,系统提供了很多以at结尾的函数,如openat.fstatat等,而这类函数通常有一个特点,就是形参列表中多了int dirfd 例如: int open(const char *pathname, int flags, mode_t mode); int openat(int dirfd, const char *pathname, int flags, mode_t mode); int mkfifo(const char *pathname, mode_t mo…
1. 写在前面 linux系统内核为上层应用程序提供了多种进程间通信(IPC)的手段,适用于不同的场景,有些解决进程间数据传递的问题,另一些则解决进程间的同步问题.对于同样一种IPC机制,又有不同的API供应用程序使用,目前有POSIX IPC以及System V IPC可以为应用程序提供服务.后续的系列文章将逐一介绍消息队列,共享内存,信号量,socket,fifo等进程间通信方法,本篇文章主要总结了管道相关系统调用的使用方式.文中代码可以在这个代码仓库中获取,代码中使用了我自己实现的一个单元…
waitpid waitpid(等待子进程中断或结束) 表头文件 #include<sys/types.h> #include<sys/wait.h> 定义函数 pid_t waitpid(pid_t pid,int * status,int options); 函数说明 waitpid()会暂时停止目前进程的执行,直到有信号来到或子进程 结束.如果在调用 wait()时子进程已经结束,则 wait()会立即 返回子进程结束状态值. 子进程的结束状态值会由参数 status 返回,…
一.Linux系统调用主要函数 二.创建进程 1.创建子进程系统调用fork() 2.验证fork()创建子进程效果 3.系统调用fork()与挂起系统调用wait() 三.模拟进程管道通信 四.pipe()下生产者与消费者问题 总结 一.Linux系统调用主要函数 首先,认识一下Linux下系统调用的主要函数,为后面进程与通信等做好铺垫. 以下是 Linux 系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的函数. fork 创建一个新进程 clone 按指定条件创建子进程 ex…
计算机系统硬件组成 总线 贯穿整个系统的一组电子管道称为总线, 分为: 片内总线 系统总线 数据总线DB 地址总线AB 控制总线CB 外部总线 I/O设备 I/O设备是系统与外界联系的通道 键盘鼠标是输入设备,显式器是输出设备,磁盘既是输入设备也是输出设备,输入输出是相对于内存来说的. 内存 内存是一个重要的部件,它是与CPU进行沟通的桥梁.它用来存放程序以及程序要处理的数据,磁盘中的程序要加载到内存才能运行. 处理器 中央处理器(CPU),简称处理器. CPU主要有运算器.控制器.寄存器构成…
在windows以下.我们能够看到360或者是qq安全卫士的"安全球".上面显示实时的网速情况.那么在linux里面怎样获取网卡的实时网速?事实上原理非常easy,读取须要获取网速的网卡在某段时间dT内流量的变化dL,那么实时网速就出来了,Speed = dL / dt. linux在ifaddrs.h中提供了函数: /* Create a linked list of `struct ifaddrs' structures, one for each network interfac…
linux 提供time命令统计进程在用户态和内核态消耗的CPU时间: [root@localhost ~]# time sleep real 0m2.001s user 0m0.001s sys 0m0.001s time命令统计了三种时间:实际时间,用户cpu时间和系统cpu时间:通过这三种时间计算CPU使用率: cpu_usage = ((user time)+(sys time))/(real time)…
1. 写在前面 之前的文章总结了使用管道进行进程间通信的方法,除了pipe和fifo,Linux内核还为我们提供了其他更高级的IPC方式,包括共享内存,消息队列,信号量等,本篇文章会通过一个具有完整逻辑功能的示例说明如何使用这些IPC方法.毕竟单纯地查手册,写代码...周而复始,这个过程还是比较枯燥的,而且并没有哪个IPC方法能解决所有的进程间通信问题,每种方法都不是孤立存在的,通过一个小例子把它们串联起来,是一种更好的学习方式.下文中的代码实现可以参考我的代码仓库. 2. POSIX IPC概…