10 yuanbinquan

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

AddressSanitizer使用介绍

1、关于AddressSanitizer1.1 引言也许很多人都听说过类似这样的一个故事:某公司的服务器每隔3个月就会毫无预兆的崩溃一次,怎么也查不出原因,为了避免崩溃可能引发的问题,只得每2个月手动重启一次服务器。在这类有些灵异的事件背后,以内存泄露为代表的一系列内存错误往往就是那个幕后黑手。在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费

2020-06-15 17:36:13

ADPCM音频格式详解 ADPCM_IMA ADPCM_DIV4

网上帖子一大推,都是照搬adpcm音频算法代码,实际使用时需要注意没有相关细节,我在这里补充一片防止大家走弯路//ADPCM-DIV4 音频帧标识头struct adpcm_state{ //前一个采用点值:adpcm算法是根据前一个采样点为基准值,求后续压缩值 short valprev; char index; char rev;};/* Intel ADPCM step variation table */stati...

2020-05-23 15:39:16

推荐五款好用的项目管理软件

1.TeamLab(免费)TeamLab 是一个免费开源的商业协作和项目管理的平台。TeamLab 主要功能包括:项目管理、里程碑管理、任务、报表、事件、博客、论坛、书签、Wiki、即时消息等等。2.redmine(免费)Redmine 是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。Redmine是一个自由开放 ...

2020-04-09 20:31:35

wav数据格式详解

1. 音频简介经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等.44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声);22050HZ 8bitmono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道;...

2020-03-11 21:05:51

liunx 系统内存详解

想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。当然如果更加深入一点,你可能会问进程所占用的那些物理内存都用在了哪些地方?这时候top命令可能不能给到你...

2020-01-10 20:39:26

LD_PRELOAD用法

LD_PRELOAD,是个环境变量,用于动态库的加载,动态库加载的优先级最高,一般情况下,其加载顺序为LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib。程序中我们经常要调用一些外部库的函数,以open()和execve()为例,如果我们有个自定义这两函数,把它编译成动态库后,通过LD_PRELOAD加载,当...

2019-11-29 17:40:20

海思hisi I2C SPI读写寄存器

I2C 读写命令示例此操作示例通过 I2C 读写命令实现对 I2C 外围设备的读写操作。a. 在控制台使用 i2c_read 命令对 I2C 外围设备进行读操作:~ $ i2c_read <i2c_num> <device_addr> <reg_addr> <end_reg_addr> <reg_width> <data_w...

2019-08-20 15:39:25

ARM linux SPI备份flash数据

uboot中如果支持spi/qspi flash, 那么可以使用sf的erase, read, write命令操作spi flashsf read用来读取flash数据到内存sf write写内存数据到flashsf erase 擦除指定位置,指定长度的flash内容, 擦除后内容全1以备份uboot文件举例:1 、设置环境变量setenv serverip 192.168.23...

2019-08-19 11:52:46

liunx 磁盘备份

因工作需要,大家都在一个linux服务器上工作,这时候服务器的重要性就凸显出来了,为了以防备万一份服务器是必须的。step1: 系统盘和备份盘fdisk -l ,首先需要两块硬盘:系统盘、备份盘。系统盘是下图/dev/sda,备份盘是下图/dev/sdbstep2:dd指令备份磁盘dd if=/dev/sda of=/dev/sdb bs=1024k&(1).先改f...

2019-06-25 16:16:08

Linxu文件系统句柄泄露排查

在Linux系统中能够通过ulimit–n查看每一个进程限制的最大句柄数,通过ulimit –HSn 10240改动进程的最大句柄数。当句柄数目达到限制后,就回出现”too many files open”。查看进程占用的句柄数有几种办法:1) 通过cat/proc/pid/fd能够查看进程pid号打开的线程;2) 通过lsof命令如果发现那个文件句柄打开特别多,就可...

2019-06-05 11:16:22

linux c语言 统计CPU专用率

最近在调试中发现应用程序的CPU占用率高,于是想看是那个线程专用了cpu。 # top 查看cpu专用率,这个时候打印的是进程级别cpu专用率。再按H,就有打印线程级别的cpu专用信息了...

2018-09-18 12:05:51

参考ethtool写了个Linux设置、获取网卡模式的接口

差不多一个月没写文章了,这期间,主要是搞一些比较复杂的问题,一直被搞,没有搞其它的东西,也就没写出什么东西来。在找问题过程中,上网了解到ethtool这个工具十分强大,以为这个代码很复杂,而恰好领导要求我提供设置网卡信息的接口,于是下了代码,研究了一下,参考了一下,整理了一下。当然文中写的是第一个版本,要是这样的接口提供出去,其它部门的人肯定会有意见的。Linux内核很早就已经加入etht

2017-11-11 17:37:14

音频参数概念详解

【音频】指人耳可以听到的声音频率在20HZ~20kHz之间的声波,称为音频。【采样频率】即取样频率, 指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。22050 的采样频率是常用的, 44100已是CD音质, 超过48000或96000的采样对人耳已经没有意

2017-08-31 22:00:14

日志记录重定向到文件

//打开文件                fp = fopen("/mnt/sdcard/com.log", "at+");                if(fp == NULL)                {                    perror("fopen:");                    printf("fopen(/mnt/sd

2017-08-04 10:04:55

交换机数据转发原理

H3C参考:http://www.h3c.com.cn/Service/Document_Center/Switches/Catalog/S3100/S3100-52P/Command/Command_Manual/S3100-52P_CM-Release_1702-6W100/201004/672685_30005_0.htm举例一:如图,交换机A 、B ,主机11给主机33发送一个

2017-08-01 10:19:54

linux 多线程消息广播

最近在工作中遇到了问题一个纠结问题:一个底层通用的模块,在应用层有许多线程使用。该模块大多数情况下都是正常的,模块出问题之后或基于其他考虑需要重启底层模块,底层重启了之后理论上是应用层需要释放当前资源,重新开始应用层业务。    为了实现该目标,当前以使用方式是:底层模块重启前调用每一个应用程接口,通知他们释放当前资源。但感觉这个设计有些缺陷:完全破坏了底层模块的封装完整性。    然后首

2017-07-29 12:53:16

ip转发

工作原理:内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做任何回应。由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作--ip转换。然后网关再把数据包发往目的主机。目的主机收到数据包之后,只认为这是网关发送的请求,并不知道内网主机的存在,

2017-07-28 09:43:23

提高linux socket 性能技巧

使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的最大性能并对 GNU/Linux® 环境进行优化从

2017-07-26 10:20:44

IP分片和TCP分片 MTU和MSS

1,MTU(Maximum Transmission Unit,MTU),最大传输单元(1)以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492个字节。链路层的这个特性称作MTU。不同类型的网络大多数都有一个上限。如果IP层有一个数据要传,且数据的长度比链路层的MTU还大,那么IP层就要进行分片(fragmentation),把数据报分成若干片,这样每一个分片都小于M

2017-07-21 21:49:45

wireshark 学习更进一步 之网络性能分析

1、图形化数据分析这里是分析一个实时视频上传服务的抓包数据,过滤条件:tcp.port==10003 and tcp.port==61232,表示设备和服务器之间的数据链路。连接时间17:01:38,断开时间17:02:28。而这中间可以明显看到17:01:48-17:02:01没有数据包的传输,具体原因查看具体时间段内的数据交互。2、异常数据统计分析同样是对刚

2017-07-20 23:14:21

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取