DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

11 2021 档案

摘要:一、宏 #define AV_ESCAPE_FLAG_WHITESPACE (1 << 0) 考虑空间特别,甚至在字符串的中间逃避他们。 这相当于将空格字符添加到特殊字符列表中,除了它保证使用完全相同的空格字符列表作为libavutil的其余部分。 #define AV_ESCAPE_FLAG_ST 阅读全文
posted @ 2021-11-30 15:54 DoubleLi 阅读(84) 评论(0) 推荐(0) 编辑

摘要:今天在生产环境遇到了一个奇怪的网络现象,通过抓包发现,SYN包没有ACK。可以ping通,防火墙开放的情况下,基本确定对方服务器问题。首先排除端口是否已经耗尽,发现仍有很多富余那么可能就是linux内核网络参数tcp_tw_recycle捣鬼。登录对方主机发现这个参数的确被设置成1. # sysct 阅读全文
posted @ 2021-11-30 11:13 DoubleLi 阅读(586) 评论(0) 推荐(0) 编辑

摘要:对于tcp连接 TIME_WAIT使用建议使用以下优化方式: 1.修改net.ipv4.ip_local_port_range参数,增加客户端端口可用范围。2.或服务器IP,让服务器能容纳足够多的TIME-WAIT状态连接。在我们常见的互联网架构中(NGINX反代跟NGINX,NGINX跟FPM,F 阅读全文
posted @ 2021-11-30 11:13 DoubleLi 阅读(539) 评论(0) 推荐(0) 编辑

摘要:本文为翻译英文BLOG《Coping with the TCP TIME-WAIT state on busy Linux servers》,但并非完整的翻译,译者CFC4N对原文理解后,进行了调整,增加了相关论点论据,跟原文稍有不同。翻译的目的,是为了加深自己知识点的记忆,以及分享给其他朋友,或许 阅读全文
posted @ 2021-11-29 11:57 DoubleLi 阅读(133) 评论(0) 推荐(0) 编辑

摘要:首先,问题中描述的65535个连接指的是客户端连接数的限制。 在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢? 如何标识一个TCP连接 在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系 阅读全文
posted @ 2021-11-29 11:49 DoubleLi 阅读(1504) 评论(0) 推荐(0) 编辑

摘要:本文实例讲述了C++实现string存取二进制数据的方法,分享给大家供大家参考。具体方法分析如下:一般来说,STL的string很强大,用起来也感觉很舒服,这段时间在代码中涉及到了用string存取二进制数据的问题,这里记录一下,以供以后参考。首先提一下STL中string的参考资料:http:// 阅读全文
posted @ 2021-11-26 16:41 DoubleLi 阅读(937) 评论(0) 推荐(0) 编辑

摘要:FFmpeg的打印日志实现在FFmpeg-n4.2.1/libavutil/log.c中。 一、设置log等级 1、设置日志级别 日志默认级别是AV_LOG_INFO static int av_log_level = AV_LOG_INFO; 使用av_log_set_level将日志级别设置为调 阅读全文
posted @ 2021-11-18 17:29 DoubleLi 阅读(490) 评论(0) 推荐(0) 编辑

摘要:环境变量配置文件 用户 环境变量配置文件 所有用户 /ect/profile /etc/bashrc /etc/environment root ~/.bashrc ~/.bash-profile 非root用户 /home/非root用户名/.bashrc /ect/profile /etc/ba 阅读全文
posted @ 2021-11-18 11:20 DoubleLi 阅读(1663) 评论(0) 推荐(0) 编辑

摘要:因为这一段要集成代码,除了组内的,还有组间的,还有第三方的,这里面都采用动态库的方式进行链接,但是在集成的时候经常出现so文件找不到的问题,使用ldd查看,也是某些so文件找不到。有的文件明明就在那里,但是却找不到,针对这些麻烦,我们头疼医头脚疼医脚,暂时解决了这些问题,但是并没有从根本上了解清楚, 阅读全文
posted @ 2021-11-18 10:41 DoubleLi 阅读(2492) 评论(0) 推荐(1) 编辑

摘要:-Wl,-rpath=linux中真实运行的路径 重点:编译时两个路径 (一个是编译用到的库的路径,另外一个是linux真实运行环境时用到的路径)如何编译? 不要用绝对路径,编译用到的库的路径比如是/output/mt_ls2k1000/lib/文件夹下的,则可以按照下面(1)的方式加载进来,而真实 阅读全文
posted @ 2021-11-17 17:08 DoubleLi 阅读(5089) 评论(0) 推荐(0) 编辑

摘要:分为三种情况: 还未将变更从工作区加入到暂存区,即未执行git add 命令前,如: 此时可以使用git checkout命令来撤销修改,如: git checkout -- rainbow.txt start.txt git checkout -- * git checkout -- *.txt 阅读全文
posted @ 2021-11-17 14:42 DoubleLi 阅读(1544) 评论(0) 推荐(0) 编辑

摘要:最近需要在AWSIOT shadow添加设备状态,很明显JSON这种数据状态很明显每个状态都是Key-Value这种数据类型,很自然的想到使用MAP去实现这种状态。而代码又是跑在嵌入式设备中很明显是C语言,这里就带来一个问题,C语言原生是没有MAP实现的。作为生产环境使用,自己手搓轮子难免有考虑不周 阅读全文
posted @ 2021-11-17 11:13 DoubleLi 阅读(1006) 评论(0) 推荐(0) 编辑

摘要:1、system(执行shell 命令)相关函数:fork,execve,waitpid,popen表头文件:#include<stdlib.h>函数原型:int system(const char * string);函数说明 :system()会调用fork()产生子进程,由子进程来调用/bin 阅读全文
posted @ 2021-11-16 17:07 DoubleLi 阅读(953) 评论(0) 推荐(0) 编辑

摘要:在linux系统下,用C++程序执行shell命令有多种方式 管道方式 #include <iostream>#include <unistd.h>#include <sys/types.h> int main(){ FILE *pp = popen("cd /xxxx && ls -l", "r" 阅读全文
posted @ 2021-11-16 17:06 DoubleLi 阅读(1610) 评论(0) 推荐(0) 编辑

摘要:Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上 阅读全文
posted @ 2021-11-16 15:31 DoubleLi 阅读(130) 评论(0) 推荐(0) 编辑

摘要:1. append函数 常用的函数原型: basic_string &append( const basic_string &str ); basic_string &append( const char *str ); basic_string &append( const basic_strin 阅读全文
posted @ 2021-11-16 15:13 DoubleLi 阅读(979) 评论(0) 推荐(0) 编辑

摘要:编译程序时,编译器报错error: jump to case label [-fpermissive] , error: crosses initialization of 'xxxx',对相关内容进行简单的梳理 一、问题代码 int main() { int test = 2; switch(te 阅读全文
posted @ 2021-11-15 17:55 DoubleLi 阅读(2251) 评论(0) 推荐(0) 编辑

摘要:一. 配置文件的存储位置 Git相关的配置文件有三个 1. /etc/gitconfig:包含了适用于系统所有用户和所有项目的值。 2.~/.gitconfig:只适用于当前登录用户的配置。 3. 位于git项目目录中的.git/config:适用于特定git项目的配置。 对于同一配置项,三个配置文 阅读全文
posted @ 2021-11-11 17:52 DoubleLi 阅读(983) 评论(0) 推荐(0) 编辑

摘要:在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类: 1、仓库级别 local 【优先级最高】 2、用户级别 global【优先级次之】 3、系统级别 system【优先级最低】 通常: git 仓库级别对应的配置文件是当前仓库下的.git/conf 阅读全文
posted @ 2021-11-11 17:29 DoubleLi 阅读(358) 评论(0) 推荐(0) 编辑

摘要:名称 dos2unix - DOS/Mac - Unix文件格式转换器 概要 dos2unix [选项] [文件 …] [-n 输入文件 输出文件 ...] unix2dos [选项] [文件 …] [-n 输入文件 输出文件 ...] 说明 Dos2unix软件包包括工具"dos2unix" 和  阅读全文
posted @ 2021-11-09 11:14 DoubleLi 阅读(1413) 评论(0) 推荐(0) 编辑

摘要:前言 很多时候,我们需要在linux(ubuntu,centos等)、mac和windows之间共享一些文件,但是因为各个平台自带支持的编码不一致,有的是GB2312(window默认),有的是utf-8。导致跨平台无法正确打开文件,比如windows下的GB2312编码文件放到mac下,如果mac 阅读全文
posted @ 2021-11-09 10:31 DoubleLi 阅读(208) 评论(0) 推荐(0) 编辑

摘要:今天执行git diff filename ,出现 old mode 100644 new mode 100755 的提示,如下图: 但是发现文件内容并没有发生改变 想起来中间执行过chmod 的操作, 产生这个问题的原因就是: filemode的变化,文件chmod后其文件某些位是改变了的,如果严 阅读全文
posted @ 2021-11-08 17:36 DoubleLi 阅读(164) 评论(0) 推荐(0) 编辑

摘要:情况一:目前本地还没拉代码,直接拉分支代码 git clone -b ac git@gitlab.yopoint.vip:ac/YoPointSwift.git 情况二:本地已经拉取了代码,想拉取远程某一分支的代码到本地 git checkout -b ac_branch origin/ac_bra 阅读全文
posted @ 2021-11-08 17:07 DoubleLi 阅读(2125) 评论(0) 推荐(0) 编辑

摘要:问题 Linux 环境执行一些脚本出错,查找原因,发现是文件在Windows环境修改并上传,格式被转换为MS-Dos格式(换行符不同),这样的文件在Linux中运行会出错(shell 解释器把换行符作为一个命令的提交)。 背景 很久以前,老式的电传打字机使用两个字符来另起新行。回车符(CR)把滑动架 阅读全文
posted @ 2021-11-08 16:26 DoubleLi 阅读(2900) 评论(0) 推荐(0) 编辑

摘要:git 的隐藏文件 .gitattributes本文以 Spring 在 github 中的代码为例,介绍 git 的几个隐藏文件的作用、写法、含义。 文章目录git 的隐藏文件 `.gitattributes``.gitattributes`介绍.gitattributes 文件中可以定义的属性t 阅读全文
posted @ 2021-11-05 18:14 DoubleLi 阅读(1356) 评论(0) 推荐(0) 编辑

摘要:背景信息 由于操作系统不兼容的缘故,在跨平台上查看文本文件会因为换行符不同而造成障碍,使用版本控制系统也同样存在换行符的问题。 操作步骤 (可选)默认Git不对core.autocrlf进行配置,请设置如下值来辨别并对文本文件执行换行符转换: Windows系统设置配置变量“core.autocrl 阅读全文
posted @ 2021-11-05 18:09 DoubleLi 阅读(292) 评论(0) 推荐(0) 编辑

摘要:雷神写了一系列的结构体的分析的文章,在这里列一个列表: 雷神写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContex 阅读全文
posted @ 2021-11-04 18:20 DoubleLi 阅读(784) 评论(0) 推荐(1) 编辑

摘要:上一篇介绍了YUV格式,并给出了一个YUYV422转RGB24的例子。其实,FFmpeg有一个函数专门进行图像格式转换的。本文就介绍怎么用FFmpeg转换,因为在转换时还要用到AVFrame这个结构体,所以这里也会介绍AVFrame。在FFmpeg中,AVFrame是一个比较重要的结构体。 AVFr 阅读全文
posted @ 2021-11-04 18:16 DoubleLi 阅读(962) 评论(0) 推荐(0) 编辑

摘要:尝试解答以下问题: 1.为什么cp的方式更新运行中进程的so,程序会coredump 2.采用什么方式更新已经加载了的so,就可以避免coredump 我们的公共组件绝大部分都支持so形式的自定义插件,比如s++,qzhttp,ttc。在不停进程更新so的时候往往会产生coredump,并且肯定co 阅读全文
posted @ 2021-11-04 17:39 DoubleLi 阅读(149) 评论(0) 推荐(0) 编辑

摘要:问题的起因在来源于周会上老板提出的一个问题,cp新的so文件替换老的so,会导致程序core掉。这个问题引起了大家的热烈讨论,其中提及了的名词有inode,dentry,buserror等,比较混乱,由于功力浅薄,当时也没有十分清楚引起core掉的原因。于是乎趁着10.1的休息时间,闲里偷忙,理一理 阅读全文
posted @ 2021-11-04 17:37 DoubleLi 阅读(750) 评论(0) 推荐(0) 编辑

摘要:对于线上的服务,经常会出现xxx服务的某一段逻辑里面有bug,需要紧急修复。对于无状态的服务,可以修复之后,直接重启。但是,对于有状态的服务,重启意味着内存状态丢失和长连接断开。比如,如果魔兽的服务器要重启,那么已经登录上来的玩家就会出现连接中断。对于不能容忍重启的有状态的服务,可以采取热更新的方式 阅读全文
posted @ 2021-11-04 16:33 DoubleLi 阅读(1512) 评论(0) 推荐(0) 编辑

摘要:我正在尝试从Casey Muratori受欢迎的Handmade Hero系列中复制一个很酷的技巧。在win32上,Casey能够重新加载DLL,并且仅几毫秒的延迟就可以看到他的代码更改。 我正在尝试使用dlopen,dlsym,dlclose和stat在linux上复制此行为,但是我遇到了以下行为 阅读全文
posted @ 2021-11-04 16:25 DoubleLi 阅读(157) 评论(0) 推荐(0) 编辑

摘要:1.为什么cp的方式更新运行中进程的so,程序会coredump 2.采用什么方式更新已经加载了的so,就可以避免coredump我们的公共组件绝大部分都支持so形式的自定义插件,比如s++,qzhttp,ttc。在不停进程更新so的时候往往会产生coredump,并且肯定core得莫名其妙,cor 阅读全文
posted @ 2021-11-02 19:58 DoubleLi 阅读(332) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示