logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

有符号数、无符号数理解

大家都知道,在C/C++中,对于w位编译器,其有符号数表示的数值范围为-2 ^ (w-1)~2 ^(w-1)-1,无符号数表示的数值范围为0 ~ 2 ^ w-1,举个例子,在16位编译器中,有符号数的数值范围为-2 ^ 31 ~ 2 ^ 31-1,无符号数的数值范围为0 ~ 2 ^ 32-1。那么,有符号数和无符号数的区别在哪?同样都是以32位2进制位来表示(后文均以32位为准),为什么各自表示的

Linux下更改文件权限

目录查看文件权限修改文件权限查看文件权限查看文件权限可以通过ls -l命令查看,如下所示:如果只想查看某一个文件的权限,可以使用grep,如下所示:可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execut...

dup、dup2实现文件描述符重定向(标准输入、标准输出、标准错误输出)

目录dup函数dup2函数重定向标准输入重定向标准输出重定向标准错误输出重定向恢复总结在前文中,可以知道,文件描述符实际上是指向文件表项的指针数组索引,也就相当于每个文件描述符都对应一个文件表项,最终对应一个文件,而文件描述符重定向,则是让一个文件描述符指向另一个特定的文件表项,最终使得不同的文件描述符指向同一个文件表项,常用到的函数就是dup、dup2以...

C++多线程:互斥锁

目录1.前言2.互斥锁2.1 互斥锁的特点2.2 互斥锁的使用2.2 std::lock_guard3.死锁3.1 死锁的含义3.2 死锁的例子3.3 死锁的解决方法1.前言比如说我们现在以一个list容器来模仿一个消息队列,当消息来临时插入list的尾部,当读取消息时就把头部的消息读出来并且删除这条消息。在代码中就以两个线程分别实现消息写...

Linux进程间通信——eventfd

Table of Contents什么是eventfd创建eventfd读eventfd写eventfd使用例子什么是eventfdeventfd是Linux 2.6提供的一种系统调用,它可以用来实现事件通知。eventfd包含一个由内核维护的64位无符号整型计数器,创建eventfd时会返回一个文件描述符,进程可以通过对这个文件描述符进行read/writ...

C++多线程:互斥锁

目录1.前言2.互斥锁2.1 互斥锁的特点2.2 互斥锁的使用2.2 std::lock_guard3.死锁3.1 死锁的含义3.2 死锁的例子3.3 死锁的解决方法1.前言比如说我们现在以一个list容器来模仿一个消息队列,当消息来临时插入list的尾部,当读取消息时就把头部的消息读出来并且删除这条消息。在代码中就以两个线程分别实现消息写...

到底了