自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 解决vim中无法退格删除的问题

vim ~/.vimrc

2022-04-02 15:36:04 4395

原创 解决YouCompleteMe unavailable: requires Vim compiled with Python 2.x support

问题描述:最近自己手动编译了vim之后,每次用vim打开文件都会提示YouCompleteMe unavailable: requires Vim compiled with Python 2.x supportUltiSnips requires py >= 2.7 or py3,开始在网上查找解决方法原因分析:1.先用python -V指令查到我电脑上的python版本 是2.7.12应该是可以的2.大部分解决方案是加入--enable-pythoninterp=yes参..

2021-06-26 11:24:57 3771

原创 后台进行ping操作不阻塞

ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等我们正常ping ip地址在Linux下会一直打印输出数据现在想让该操作在后台运行,并且不阻塞在该操作,直接使用ping ip地址 &想让其在后台运行,发现还是会有打印数据,所以要把数据输出到别的位置/dev/null是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃。因此,null这个设备通常也被称为位桶(bit

2021-04-25 16:58:21 1162

转载 Linux设置和查看环境变量的方法

1.Linux的变量种类按变量的生存周期来划分,Linux变量可分为两类:1.1 永久的:需要修改配置文件,变量永久生效。1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。2.设置变量的三种方法2.1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。例如:编辑/etc/profile文件,添加CLASSPATH变量# vi /etc/prof

2021-04-25 16:39:41 247

原创 Linux下ln命令建立软硬链接

1.ln 命令用于给文件创建链接,链接的方式分为以下 2 种:软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。 硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息2.ln 命令的基本格式如下:ln [选项] 源文件 目标文件选项:-s:建立软链接文件。如果不加 ..

2021-03-16 14:20:39 3382

原创 实战gdbserver

1.交叉编译,带参数-g加入调试信息。例如 arm-linux-gcc -g test.c -o v_BZ2、dbserver拷贝至目标板上,在Target Board开启gdbserver#gdbserver <host-ip>:端口号 可执行文件例如:# ./gdbserver2 :1234 ./v_BZ3.在HOST端启动gdb./gdb v_BZ4.遇到的问题 会提示Program received signal SIG32, Real-time...

2021-02-02 11:34:59 199

原创 Linux进程间通信之信号

一.信号1.信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的,信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达信号是进程间通信机制中唯一的异步通信机制,可以看作异步通知,通知接收信号的进程有哪些事件发生了。信号机制经过POSIX实时扩展后,功能更加强大,出了基本通知功能外,还可以传递附加信息2.信号来源信号事件的发生有两个来源:硬件来源 (比如按下了键盘或者换其他硬件故障)

2021-01-15 09:24:24 152

原创 Linux进程间通信方式

目录前言一、进程间通信的目的二、Linux进程间通信方式简介​​​​​​​前言进程间的通信就是在不同进程之间传播或者交换信息。进程的用户空间是相互独显然可以体用这几样的立的,一般而言是不能互相访问的,唯一的例外是共享空间。但是系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其他数据库中的某些表项和记录交换信息。在广义上,这也是进程间通信的手段,到...

2021-01-14 16:26:38 494

原创 Linux进程间通信之管道通信

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、管道通信管道的通信方式分为无名管道和有名管道,无名管道可用于具有亲缘关系的进程间的通信,有名管道克服了管道没有名字的限制。管道是Linux支持的最..

2021-01-14 16:24:53 446

原创 解决FFmmpeg合成的MP4文件播放没声音

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言之前使用FFmpeg库合成H264文件和aac文件为MP4文件,最近发现了一个问题一、问题是什么?把合成的Mp4文件上传到网页客户端,发现后台用ffmpeg.exe程序升高音量后的文件,直接音量没有了,但是原文件使用播放器播放的时候视频音频正常,这就有点奇怪了。二、进行测试1.测试ffmpeg.exe用另外的MP4文件进行音量处理,没有影响声音,那ff...

2020-12-18 19:12:22 4504 2

原创 解决编译FFmpeg 出现undefined reference to `truncf‘的问题

前言:之前编译过FFmpeg,遇到过这个问题,机缘巧合的解决了,最近换了一个版本重新编译的时候又遇到了这个问题,想了很久才想起来,所以在这里记录一下项目场景:编译FFmpeg问题描述:提示 undefined reference to `truncf'原因分析:网上找到了相关问题的解决方案,都说是修改config.h文件中的#define HAVE_TRUNC 0#define HAVE_TRUNCF 0这两个参数改为1 就可以了,我测试改了之后还是会提示下面错...

2020-12-18 18:37:46 1017 4

原创 C语言变参函数详解

C语言编程中有时会遇到一些参数个数可变的函数,例如printf函数的原型为int printf (const char*format,...)它除了有一个参数format固定以外,后面的参数个数和类型都是可变的(用"..."作为参数占位符),在实际调用时有以下的形式:printf("%d\n",i);print("%s",s);printf("the number is %d.string is %s",i,s);以一个简单的可变参数的C函数为例,该函数至少有一个整数参数,其后是

2020-10-25 15:02:52 700

原创 C语言中数据放在哪里

1.未初始化的全局变量(.bss段).bss段用来存放那些没有初始化和初始化为0的全局变量int bss_array[1024*1024]int main(int argc,char*argv[]){ return 0;}变量bss_array的大小为4MB,可执行文件的大小只有5KB,由此可见bss类型全局变量只占运行时的内存空间,而不占用文件空间现代大多数错做系统在加载程序的时候,会把所有的bss全局变量清0。但为了保证程序的可移植性,手动把这些变量初始化为0也是一个好习惯,这...

2020-10-18 14:57:39 1070

原创 gdb调试应用程序

前言gdb是GNU开源组织发布的一款调试器,提供了丰富的功能。gdb不仅能调试普通的应用程序,还能调试正在运行的进程线程,甚至linux内核。gdb不仅能调试C语言,还可以调试C++,Java等语言编写的程序。有一个不足就是gdb是一个命令行工具,对初学者不太友好,要一段时间适应。一、基本的调试技术gdb的功能通过内部的命令和启动时命令行提供,命令行的格式如下:gdb [options] [exxcutable-file] [core_file or process-id]]gdb [op

2020-10-11 10:10:52 297

原创 GCC编译

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在Linux平台上,最流行的编译系统是GCC编译器,GCC编译器也是GNU发布的最著名的软件之一,功能非常强大。提示:以下是本篇文章正文内容,下面案例可供参考一、gcc命令常用选项和工作流程gcc命令的使用格式为gcc[选项][文件名][选项][文件名]gcc命令拥有数量庞大的编译选项,按类..

2020-10-10 15:48:22 191

原创 FFmpeg编译出来的库太大?试试这几招

目录前言一、编译出来的库为什么大?二、去掉多余的格式三、--enable-small前言 之前合成Mp4的项目功能已经完成了,在实际测试的时候发现一个问题,就是编译出来的几个库文件加起来太大了,很占空间,所以想优化压缩一下。一、编译出来的库为什么大? FFmpeg的功能实在是太强大,几乎支持所有的视频和音频的编码格式,大部分人使用只能用到其中的一部分功能,视频的编码、解码、合成、分离、转换格式等等。在编译的时候,可以通过编译选项查看到当...

2020-09-18 17:43:00 3860 2

原创 cmake的安装一路解决问题

前言: 今天开始一个新的项目,从git上面拉取到了项目的代码,这个项目用的是cmake编译的,之前还没有用过cmake,所以应该是要安装一下1.先用已经存在的脚本试着运行一下./cmk: line 48: cmake: command not found提示cmake命令不存在,果然是要安装一下2.安装cmakesudo apt install cmake3.装完之后,再运行一下cmake: error while loading shared libraries..

2020-09-14 18:06:33 3145

原创 FFmpeg将H264和AAC合成为MP4

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言之前的内容提到使用Mp4V2合成Mp4文件失败,只能换方案使用FFmpeg去尝试了。一、下载编译FFmpeg在网上下载到了FFmpeg源码库,一开始使用的是 版本,遇到了几个问题,不知道怎么解决,就下载使用其他的版本,还是不行,最后使用 3.3.6版本编译通过,不过只能用静态库,编译成动态库的时候还是...

2020-09-14 16:25:04 4474 1

原创 linux下上传照片和视频

前言最近的项目中要把生成的图片和视频上传的云平台。一、libcurl开源库libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP这些协议,同时支持使用SSL证书的安全文件传输:H.

2020-09-13 17:39:19 426

原创 使用Mp4V2踩坑

前言 最近新接到的工作任务中有一个留影留言的功能。整体的功能是在设备端通过采集声音和图像,再把两者合成MP4文件,上传到云平台,另外一台设备通过云平台来拉取到视频内容,我这边负责的是推流端。同事之前做过类似的功能,但因为是不同的产品类型,所以还是有很大的差异的,他之前是使用MP4V2库和FAAC库。一、FAAC简介FAAC是一个MPEG-4和MPEG-2的AAC编码器,其特性是:可移植性好,快速,支持LC/Main/LTP,代码很小,而且可以直接把代码加到工程里面编译,也可使用静...

2020-09-13 15:47:56 2160 10

转载 CJSON的介绍以及使用

一、JSON概述1.1 JSON介绍JSON:JavaScript对象表示法(JavaScript Object Notation)。是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似C语音家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON解析器和JSON库支持许多不同

2020-08-24 15:36:33 1393

转载 正则表达式语法

废话少说,直接开始学习!一、元字符元字符是构造正则表达式的一种基本元素。. :匹配除换行符以外的任意字符w:匹配字母或数字或下划线或汉字s:匹配任意的空白符d:匹配数字b:匹配单词的开始或结束^:匹配字符串的开始$:匹配字符串的结束匹配有abc开头的字符串:abc或者^abc 匹配8...

2020-05-10 18:38:43 273

转载 LinuxC语言正则表达式使用

参考https://www.iteye.com/blog/tcspecial-2158513https://blog.csdn.net/chenjiayi_yun/article/details/43375201标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,Linux下带有开源库,Linux上内置的正则表达式功能比较弱,很多语法不支持,不支持懒惰模式, 位置指定。\d也不支持,只能用[0-9]代替。C语言中使用正则表达式一般分为三步:编译正则表达式 regc

2020-05-10 18:28:26 229

翻译 SQLite C 接口简介

►本文是在使用的过程中查阅SQLite官网了解到的一些知识,在此做一个记录官网网址https://www.sqlite.org/index.html1.总结以下两个对象和八个方法构成了SQLite接口的基本元素: sqlite3→数据库连接对象。通过sqlite3_open()创建,并通过sqlite3_close()销毁。 sqlite3_stmt→准备好的语句对象。通过sqlite3_prepare()创建,并通过sqlite3_finaliz...

2020-05-10 17:41:00 336

转载 三极管最通俗的用法

扣扣技术交流群:460189483PNP型的三极管使用方法常见的三极管为9012、s8550、9013、s8050.单片机应用电路中三极管主要的作用就是开关作用。其中9012与8550为p...

2020-04-21 20:50:31 1621

转载 MQTT

一文读懂MQTT协议智物客关注52017.08.03 16:59:04字数 3,173阅读 67,8241  概述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点...

2020-04-21 18:10:11 311

原创 搭建Linux开发环境遇到的问题

遇到的Linux相关的问题解决问题一:使用vi编辑文档的时候Backspace无法退格删除,上下左右出现字母1、vi编辑模式下Backspace无法退格删除命令模式下输入:set nocp2、vi编辑模式下上下左右出现字母sudo vi /etc/vim/vimrc.tiny修改 set compatible 为 set nocompatible 设置是否兼容添加 s...

2020-04-03 11:26:28 288

原创 解决ModuleNotFoundError: No module named 'elftools'的问题

在建立新的项目开发环境的时候,编译出现了如下问题:from elftools.elf.elffile import ELFFileModuleNotFoundError: No module named 'elftools'然后就开始在网络上查找解决办法,应该是python缺少对应的工具,先安装pipsudo apt-get install python-pip提示没办法连接到...

2019-12-20 16:15:49 15015

原创 个人发展战略基础理论

一:冰山模型1.知识和技能2.能力3.价值观,性格,动机把目标岗位用冰山模型分析分为四步:1.先确定一个你要分析的岗位2.在招聘网上搜索这个岗位的招聘要求3.按照冰山模型分析这些招聘要求4.按照岗位需求模型,与自己进行对比二:四大元素,决定你的市场价值1.投入到知识.知识和思维是不一样的,单纯的知识储备,不结合思维能力去解决问题,是很难提升你的市场价值的2.投入到技能...

2019-11-06 10:37:09 562

原创 git的最常用命令

 Git基本常用命令如下:  mkdir: XX (创建一个空目录 XX指目录名)  pwd: 显示当前目录的路径。  git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。  git add XX 把xx文件添加到暂存区去。  git commit –m “XX” 提交文件 –m 后面的...

2018-11-10 13:50:24 81

原创 STM8105X4 AD采样

接手了同事之前的一个程序,通过采集AD的值来检测RFID卡,一开始没有注意到AD口为ADC_ETR,ADC_ETR不同于普通的模拟输入通道,是一个数字输入通道,需要通过外部触发信号来开启转换,下面是规格书中具体的操作配置起来相对比较麻烦,而且启动转换需要用到定时器或者外部触发事件来作为触发信号,适用于特殊的用途,不适用于一般的AD采集。...

2018-06-21 15:00:30 578

原创 C语言日常使用积累

(1)strstr(str1,str2) 功能 :函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。 原来strstr(str1,str2)返回的是str2在str1中首次出现的地址,也就是说,strstr(str1,str2)返回值能随str1变化而变化,因为他们内容有共用地址,地址一样,输出的内容也一样。 说...

2018-05-21 18:46:32 165

原创 Linux最简单基础

hstc打开终端:ctrl+alt+t========================Linux基础=====================ls --&gt;列出当前目录ls -l --&gt;列出当前目录详细信息drwxr-xr-xd --目录- --文件c --字符设备l --链接文件ls -a --&gt;列出当前目录详细信息(包括隐藏文件)cd xxx (xxx是目录)cd .. ...

2018-05-21 18:45:22 89

转载 break、continue、return之间的区别与联系

break、continue、return之间的区别与联系 在软件开发过程中,逻辑清晰是非常之重要的。 代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候,一定要理解语言的作用以及使用的方法和场景。下面来介绍一下break、continue、return三者的区别和联系。1. break : ...

2018-05-21 17:46:16 194

muxmp4.zip

代码是使用C语言的,使用FFmpeg把H264和AAC合成为MP4,代码中的main函数是通过文件模拟内存的读取来合成的,代码中也包含了把PCM编码为AAC的接口

2020-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除