编译错误: call of overloaded ‘isnan(double&)’ is ambiguous isnan(x); C++11编译报错测试#include <stdlib.h>#include <cmath>#include <stdio.h>using namespace std;int main(int argc, char** argv){ double number = 0; if (isnan(number)) { ...
解决markdownPad2导出的pdf显示不出图片问题 markdown 工具markdown使用说明:解决markdownPad2导出的pdf显示不出图片问题:错误写法:这样导出pdf图片是显示不出来的正确写法:链接前面不要加"/"即可...
进程外部断开TCP连接的方式 总结五种断开TCP连接的方式1.防火墙规则可以设置iptables规则禁掉某个或者某些端口,但是对已建立的TCP连接无效,只是会让TCP收不到包。上层业务要是对长时间收不到数据有超时出来也可以实现断开连接功能关闭端口【iptable】sudo iptables -A INPUT -p tcp --dport $PORT -j DROPsudo iptables -A OUTPUT -p...
Source Insight 4.0取消Overviews预览 Source Insight 4.0取消Overviews预览步骤:Options-->Preferences不勾选Overviews(based on file type)
gdb调试strip过的程序、以及strip和en-strip使用 概述通常公司发布的可执行程序和动态共享库(.SO)里面的符号表都被移除了,所以每次遇到core dump的时候,都需要将符号表导入到/usr/lib/debug目录下。一直没弄明白为啥是这个目录,能不能是其他目录,这篇文章探索一下相关的知识,做个记录。我们要给我们生成的可执行文件和.SO瘦身,因为这样可以节省更多的磁盘空间,所以我们移除了debug信息,移除了符号表信息,同时我们还希望万一出事...
Linux 2.6 以上版本timerfd定时器的实现 Linux 自 2.6 开始,可以使用timerfd来管理定时器提供的基于文件描述符的定时器接口#include <sys/timerfd.h>int timerfd_create(int clockid, int flags);int timerfd_settime(int fd, int flags, const struct itimerspec *new_value...
Windows下安装Anaconda3 下载Anaconda3下载地址:https://www.anaconda.com/distribution/#download-section可以选在python3.7或者python2.7版本,推荐选择3.7版本安装安装较为简单,基本都是下一步,为了避免不必要的麻烦,最后默认安装路径,具体安装过程为: 双击安装文件,启动安装程序这里我安装到了Anaconda3目录,也可以安装到默认...
windows下卸载 Anaconda3 首先找到Anaconda3的安装目录然后找Uninstall-Anaconda3.exe文件,如图:双击卸载即可PS:Anaconda3和Anaconda2是可以同时存在的,
RTP/RTCP协议记录 RTP概述1.简单的多播音频会议。语音通信通过一个多播地址和一对端口来实现。一个用于音频数据(RTP),另一个用于控制包(RTCP)。2.音频和视频会议。如果在一次会议中同时使用了音频和视频会议,这两种媒体将分别在不同的RTP会话中传送,每一个会话使用不同的传输地址(IP地址+端口)。如果一个用户同时使用了两个会话,则每个会话对应的RTCP包都使用规范化名字CNAME(Canonical N...
hisiv300编译报错修改 现象:hisiv300编译过程中的错误:提示arm-hisiv300-linux-gcc: command not found或不是文件和目录原因:这是因为宿主机是64 位 而交叉编译器是针对32位的开发板制作的。所以要安装对应的32位库。我的linux宿主机是ubuntu 16.04 64位。安装命令:sudo apt install lib32z1-dev参考链接及其他错误:http...
git命令使用记录 1.创建版本库初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步:第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit -m “说明”,完成。2.时光机穿梭要随时掌握工作区的状态,使用git status命令。如果git status告诉你有文件被修改过,用”git diff 文件名”可以查看修改内容。...
TCP连接数和文件描述符耗尽分析 client最大tcp连接数client每次发起tcp连接请求时,除非绑定端口,通常会让系统选取一个空闲的本地端口(local port),该端口是独占的,不能和其他tcp连接共享。tcp端口的数据类型是unsigned short,因此本地端口个数最大只有65536,端口0有特殊含义,不能使用,这样可用端口最多只有65535,所以在全部作为client端的情况下,最大tcp连接数为65535,...
python使用scrt时间戳画图 scrt生成时间戳SecureCRT 日志添加时间戳(精确到毫秒)[%h-%m-%s.%t] 其中 %t 表示毫秒设置以及效果截图如下:python使用时间戳画图代码'''python帧间隔绘图脚本使用:1.首先需要安装Anaconda3(python是3+版本)2.然后添加环境变量3.然后cd 到Anaconda3安装目录,我的是C:\ProgramData\Anaco...
两种IO多路复用方式对比Reactor and Proactor 两种IO多路复用方案:Reactor and Proactor概述一般情况下,I/O 复用机制需要事件分享器(event dispatch)。事件分享器的作用,即将那些读写事件源分发给各读写事件的处理者,就像送快递的在楼下喊: 谁的什么东西送了, 快来拿吧。开发人员在开始的时候需要在分享器那里注册感兴趣的事件,并提供相应的处理者(event handlers),或者是回调函数; 事件分享器在适...
window修改处理器类型 原因有时某些软件会判断处理器类型,然后才会执行操作。更换电脑是一个很麻烦的事,我们可以将注册列表中的处理器格式修改来解决这个问题修改具体修改位置如下图:例如将"Pentium® Dual-Core CPU E5500 @ 2.80GHz" 改成 “Intel® Core™ i5-2120 CPU @ 3.30GHz”...
Ubuntu挂载网络文件系统NFS 1.sudo apt-get install nfs-kernel-server 安装nfs。2.sudo mkdir /home/share/nfs 建立nfs共享文件夹。 执行 chmod 777 /home/share/nfs(以防出现权限问题)3.sudo vi /etc/exports 配置nfs。4.在文档的最后一行加入/home/song/nfs *(rw,s...
设计模式 总结 设计模式后续将23中设计模式都总结出来update 2019.04.02单例模式懒汉式单例class SingleClass{public: static SingleClass* GetInstance() { if (!instance) instance = new SingleClass(); return instance; }private: ...
排序算法总结 排序排序算法平均时间复杂度最差时间复杂度空间复杂度数据对象稳定性冒泡排序O(n2)O(n2)O(1)稳定选择排序O(n2)O(n2)O(1)数组不稳定、链表稳定插入排序O(n2)O(n2)O(1)稳定快速排序O(n*log2n)O(n2)O(log2n)不稳定堆排序O(n*log2n)O(n*log2n)O...
线程同步注意事项 互斥器(mutex)互斥器主要是为了保护共享数据的,保证同一时刻只有一个线程可以操作用RAII手法封装mutex(创建、销毁、加锁、解锁)只用非递归的mutex(就是不可重入的mutex)不手动调用lock和unlock函数,参照第一点的方式在每次构造MutexLockGuard的时候,思考调用栈上已经持有的锁,防止加锁顺序不同导致死锁不使用跨进程的mutex,进程间通信尽量只用TC...
操作系统知识 进程与线程对于有线程系统:进程是资源分配的独立单位线程是资源调度的独立单位对于无线程系统:进程是资源调度、分配的独立单位进程之间私有和共享的资源私有:地址空间、堆、全局变量、栈、寄存器共享:代码段,公共数据,进程目录,进程 ID线程之间私有和共享的资源私有:线程栈,寄存器,程序寄存器共享:堆,地址空间,全局变量,静态变量linux使用的进程间通信方式管道...