Linux
文章平均质量分 73
Atom丶pro
努力学习软件的通信人!
展开
-
Conan 使用包时报错 dyld: Library not loaded: @rpath/libhello.dylib
Mac 上 Conan 链接动态库报错dyld: Library not loaded: @rpath/libhello.dylib1. 今天在使用 conan 包进行测试 Demo 时,在 Mac 上出现了编译出来的可执行程序链接不到使用 conan 包的动态库,但是在 Linux 上可以正确链接,最后在官方文档里找到解决办法记录一下,CMakeLists.txt 里面conan_basic_setup(KEEP_RPATHS) 加上 KEEP_RPATHS 就可以了,主要是系统找不到这个动态库路..原创 2021-04-23 11:53:49 · 798 阅读 · 0 评论 -
生产者与消费者模型
Linux中的消费者与生产者模型当两个线程同时访问一块临界区域的时候,一个进程往这块区域中写数据,另一个进程在里面读数据,会有很多种的情况。被访问的这块临界区域通常叫缓冲区,而往这块缓冲区里写数据的叫生产者,在这块缓冲区里读数据的叫消费者。 要实现消费者与生产者的关系,要满足一个原则,就是“321“原则。 3代表的是有三个关系、2代表的是两种角色、1就是一个交易场所原创 2017-06-13 18:09:14 · 1946 阅读 · 0 评论 -
进程间通信--共享内存
进程间通信前面已经提到了两种system V版本的通信机制(消息队列和信号量)。接下来写一下另外一种system V的通信机制--共享内存共享内存在所有的通信方式里是最快的,这离不开它的机制;先来看看为什么共享内存的速度这么快共享内存原理:同一块物理内存被映射到两个进程各自的虚拟内存空间上,然后两个进程访问自己的虚拟内存相当于访问到了另一方的虚拟内存,因为它俩之间不需要建立原创 2017-06-13 19:51:02 · 780 阅读 · 0 评论 -
通俗易懂的CRC循环校验
CRC编码,也称为多项式编码。它是在数据通信中常用的一种差错校验码。由信息字段和校验字段组成。其中信息字段和校验字段长度可以任意选定。原创 2017-07-09 00:21:39 · 7769 阅读 · 0 评论 -
TCP套接字编程
TCP套接字编程在实现一个主机上的不同进程相互之间通信,可以用管道、信号量或者共享内存来实现。如果要实现网络中不同进程间的通信就要使用套接字编程来实现。一个套接字就是一个IP地址和这个IP地址上的唯一端口号。server1.#include 2.#include 3.#include 4.#include 5.#include 6.#include 7.#include 8.9原创 2017-07-28 13:30:56 · 465 阅读 · 0 评论 -
UDP套接字编程
UDP套接字编程udp是一种无连接的不可靠传输协议,和tcp最大的区别就是不需要建立可靠连接,直接就可以发送数据,也不需要保证数据可靠性传输,优点是快速,不需要消耗太多资源。UDP套接字编程时,不需要像TCP那样去监听看谁连接上了,然后在accpet,因为是无连接所以绑定之后直接发送消息。UDP_SERVER1.#include2.#include 3.#include原创 2017-07-28 13:38:08 · 516 阅读 · 0 评论 -
Linux进程池、线程池
Linux进程池、线程池一个子进程是通过进程动态内存分配的方式创建的,这种创建子进程的方式虽然能够获得资源,但是是有很多缺点的1、动态创建进程是比较耗时间的,这将导致较慢的客户响应。 2、动态创建的子进程(或子线程)通常只用来为一个客户服务。这将导致系统上产生大量的进程(线程),这将使进程间(线程)间切换消耗大量的CPU资源。 3、动态创建出来的子进程(线程)是父进程(原创 2017-08-07 09:13:42 · 1785 阅读 · 0 评论 -
shell脚本截取字符串
shell脚本截取字符串1、使用#截取,删除左边字符,保留右边的echo ${变量名+#*加起始位置}结果val表示变量名,#是分隔符,*表示删除,//表示删除//以及左边所有2、使用##号截取,*删除 echo ${val##*w}结果*w表示删除最后一个w以及左边的所有3、使用%原创 2017-08-07 09:24:01 · 1113 阅读 · 0 评论 -
ROKID开发板初使用
ROKID OS简介RokidOS 是一个针对多种不同设备类型打造的开放源代码以语音交互为特色的软件堆栈。RokidOS 主要目的是为运营商、设备制造商、DesignHouse 和开发者创造一个开放的软件平台,使他们能够将创新理念变为现实,并推出能够卓有成效地改善用户体验的真实产品。1、配置编译环境 在做之前先配置一下编译所需的环境(就是下载一些所需的安装工具),R原创 2018-01-10 17:44:13 · 2636 阅读 · 1 评论 -
进程间通信-信号量
信号量实质上是一个用来描述临界资源数目的计数器。原创 2017-06-09 12:55:58 · 371 阅读 · 1 评论 -
管道实现进程间通信
一、实现进程间通信最简单的方式就是通过管道机制来实现,管道是一种最基本的IPC机制,由pipe函数创建。pipe所创建的管道实际上是在内核中开辟一块缓冲区,它有一个独端和写段,通过read和write来实现往管道里写和读,由于管道是通过父进程调用pipe函数所产生的管道,所以和它通信的只能是它的子进程或者和它有血缘关系的进程。后面一会具体讲。先通过图示来看看管道是怎么来实现通信的原创 2017-06-07 15:38:35 · 1562 阅读 · 0 评论 -
消息队列实现进程间通信
进程间通信—IPC(InterProcess Communication)进程间通信是不同的进程通过一个或多个文件来传递信息。经常用到的通信方式有两种,一种是通过管道来实现两个进程间的通信,管道机制是创建的不同进程通过调用管道函数在内核中开辟一块空间来实现。而还有一种方式就是使用system V标准,来实现不同进程间的通信,下来就浅谈一下system V标准中的第一种通信方式——消息队原创 2017-06-06 21:57:02 · 2021 阅读 · 1 评论 -
linux下的find查找
Linux系统中经常会用到这个命令----find,find命令很强大,可以使用它在命令的层次结构中定位所需要的文件和目录。find命令可以使用诸如文件名、文件大小、文件属性、修改时间和类型等条件进行搜寻。当find命令找到了那些与搜索条件相匹配的文件时,系统将把满足条件的每一个文件显示在终端的屏幕上。 1、按权限查找命令"-perm"原创 2017-03-28 14:26:46 · 644 阅读 · 0 评论 -
stat一个文件下的 ACCESS Modify Change的时间含义和变化
stat一个文件后下面的时间到底是什么呢?相信很多初学者都不懂,今天带大家来认识一下这些时间的含义和如何修改它! 进入一个文件夹下查看一个文件(这里用li.c),可以看到Access Modify Change后面的时间A和M&C不相同,究竟Access和Modify以及Change是什么呢? 现在,我们查看一下这个l原创 2017-03-23 10:12:16 · 2152 阅读 · 0 评论 -
CenOS6.5连不上外网解决方法
在CenOS下,很多人把网络配置正确后能够ping通自己的主机和域名,但是却不能ping通外网,像ping www.baidu.com 、ping 8.8.8.8、 ping 114.114.114.114 这类的公网和域名,下来我写一下我自己的设置和解决方法首先,打开VM的编辑栏里的虚拟机网路编辑器,点到VMnet8处,我这里设置的是NET模式,将底下的使用本地DHCP服务将IP地址分给原创 2017-04-11 16:49:36 · 6183 阅读 · 2 评论 -
Linux多线程编程
Linux多线程编程线程的概念 在linux中,描述一个进程是用PCB来表示,并且每一个进程都有各自独立的地址空间。也就是说每一个进程都是一个控制流,如果要是在一个进程在执行多个控制流,这时候就有了线程的概念。 线程其实就是在进程内部空间运行的进程,在linux中没有真正意义上的线程概念,只不过是用进程来模拟线程。所以linux中的线程也叫做–轻量级进程。在进程中,我们知道原创 2017-06-17 18:56:41 · 558 阅读 · 0 评论 -
线程的死锁及算法避免
线程下的死锁死锁是什么?是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。举个例子:你有一千万现金,现在要分别放在两个保险柜里,你把第一个保险柜的钥匙放在了第二个保险柜里了,然后不小心把第二个保险柜锁住了。接着又把第二原创 2017-06-17 20:13:36 · 555 阅读 · 0 评论 -
Linux的粘滞位
什么是粘滞位?设置粘滞位和不设置粘滞位有什么区别呢?粘滞位是在1974年Unix的第5版中引入的,用来设置可执行文件。当可执行文件设置粘滞位之后,它能够指示操作系统在程序退出后,保留程序的代码段到swap空间。当程序再次执行时,内核只需将程序从swap搬到内存即可,这能够加速程序的执行。所以,频繁使用的程序比如编辑器能够更快的打开。目前,这种应用只是适用于HP-UX, NetB原创 2017-03-28 19:28:27 · 320 阅读 · 0 评论