自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tekenuo的专栏

记录、总结、分享、进步

  • 博客(129)
  • 资源 (2)
  • 收藏
  • 关注

原创 【读书笔记】第三版UNIX 环境高级编程 第3版

1.sleep(3)用man查看的命令:man 3 sleep2.指数补偿算法,在每次迭代中等待更长的时间。3.文件系统中记录了每个文件所有者的用户id和组id,open()时根据这些信息判断是否有权限。4.信号的处理:忽略、按照系统默认方式、自定义方式处理。Ctrl+C命令就是向进程发送信号的方式停止软件运行的。5.系统调用与库函数:系统调用是核心的,内核层提供的,一般不可替换。库函数则...

2020-04-01 17:50:59 283

原创 Ubuntu+Win10+samba 分享资料

将虚拟机的网络设置成桥接网卡,保证Ubuntu和win10能够互相ping通; 安装samba服务器 apt install openssh-serverapt install samba 更改samba的配置文件,增加Ubuntu与win10共享的路径位置,在/etc/samba/smb.conf文件末尾类似如下内容 [Projects] pa...

2019-11-14 18:18:15 228

原创 Valgrind+callgrind性能测试

valgrind --tool=callgrind ./testcallgrind_annotate callgrind.out.xxxx (xxxx是代称,使用需要更改为实际的编号)python gprof2dot.py -f callgrind callgrind.out.xxxx |dot -Tpng -o report.png最终生成的report.png文件与gprof生...

2019-08-01 23:44:47 373

原创 【设计模式】C++ 实现命令模式

介绍命令模式,通常指的是一个对象向另外一个对象发送信息指令的行为模型,比如父母命令孩子写作业,将军命令士兵进攻,点击菜单选择页面等。请求者只需要发出命令,至于命令的接受者,如何实现命令,则由命令的接收者来关心。命令模式由4个角色组成,请求者角色、命令者角色、接收者角色和客户端角色。夏天到了,炎炎烈日,都要靠空调续命,这里就以给空调调节温度为例子。空调是接收者角色,由它来执行具体的升...

2019-07-11 18:47:42 202

原创 Python获取json中key值为中文的value

# -*- coding:UTF-8 -*-import jsondef getPinyinFromLocal(in_hanzi): with open("result.txt",'r') as file_name: js_localpinyin = json.load(file_name,"utf-8") pinyin = js_localpinyin.get(in_hanz...

2019-03-22 11:57:01 6179

转载 corefile文件开关及生成文件路径

1.core文件的生成开关和大小限制---------------------------------1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的...

2019-03-21 18:11:18 1417

转载 Unix Domain Socket

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-02-21 21:52:38 1232 1

原创 Linux下lcov单元测试覆盖率

    书接上文,要想保持测试的完整性,需要将gtest与lcov配合使用,方能更好地测试源码的质量。一、下载lcov源码源码下载链接:https://sourceforge.net/projects/ltp/files/Coverage%20Analysis/LCOV-1.13/ 二、解压源码进入到解压文件夹,执行命令“make install”安装lcov 三、编译...

2019-01-12 23:49:50 7521 1

原创 一篇教会你玩转Linux下gtest单元测试

一、下载gtest 下载链接为 https://github.com/google/googletest 目前最新的版本是v1.8.x,本文以这个为例子 二、认识文件夹将源码解压,进入gtest目录,可看到文件结构如下图所示:GTEST提供了对于多个不同平台的支持,例如msvc文件夹是用在微软Visual Studio中,xcode文件夹是用于Mac Xcode,cod...

2019-01-12 22:37:02 4148

原创 gcc 查看默认的编译标准

执行如下命令,可查看gcc默认定义的预编译宏:gcc -E -dM - </dev/null | grep "STDC_VERSION"查看__STDC_VERSION__的值如果没查到,则默认是c89的标准;如果是#define __STDC_VERSION__ 199901L,则默认支持的是c99标准;如果是#define __STDC_VERSION__ 201...

2018-12-24 15:25:51 7383 4

转载 android debug工具集

 发表于 2010-11-9 17:48 | 只看该作者[经验分享] android debug工具集1.TraceView 1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等  2)方法:   a)在程序代码中加入追踪开关   import android.os.Debug;   ……   android.os.D...

2018-11-27 15:15:01 368

原创 get请求

使用requests库,可以很方便地实现get、post等http请求。代码示例如下:import requestsurl = "http://xxxxxxxxxxxxx"res = requests.get(url)print("res = {}".format(res.text)) ...

2018-11-27 15:13:23 225

原创 sha1加密

     sha1加密需要使用haslib,最终可返回40字节的加密结果,具体代码如下:import hashlibsig = hashlib.sha1(txt).hexdigest()print("sig = {},len = {}".format(sig,len(sig))) ...

2018-11-27 15:00:45 415

原创 json比较

 import jsondef isEqual(standard_dict, target_dict): if not standard_dict or not target_dict: if not standard_dict: print "Not find standard semantic" if not targe...

2018-11-27 14:57:10 201

原创 WebSocket

什么是Websocket  WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。HTTP 协议无法实现服务器主动向客户端发起消息,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦,轮询的效率低,非常浪费资...

2018-11-27 14:45:25 157

原创 Excel的读写

    openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。其他很多的与Excel相关的项目基本只支持读或者写Excel一种功能。安装openpyxl模块          pip install openpyxl     2.  源码开发...

2018-11-27 12:11:49 161

原创 Ubuntu下查看ping的源码

1.执行命令:which ping,找到ping的路径为/bin/ping2.找到ping命令属于哪个源码包:dpkg -S /bin/pingroot@ll:/# dpkg -S /bin/pingiputils-ping: /bin/ping可以看出,ping命令是从软件包iputils中编译出来的,接下来下载软件包iputils3.安装软件包:apt source ...

2018-11-22 15:40:09 1337

原创 Pythonjson格式化输出文本_铽可喏_新浪博客

json.dumps(target_json,ensure_ascii=False,sort_keys=True,indent=4)ensure_ascii :False,中文可输出,否则中文为\uxxxx格式sort_keys :True ,根据key值排序indent :值为4,可缩进,输出的效果比较整齐 ...

2018-10-29 18:34:03 67

原创 编译时动态库名与运行时查找的不一样

需求:   编译第三方库mad,且让库跟随项目环境,不依赖于系统环境。问题描述:    第三方库mad,在Linux上编译后,生成文件libmad.so,重命名为libmadlinux.so,链接入可执行文件。       g++ ./test.cpp -L. -lmadlinux -lsoDemo2 -Wl,-rpath . -o test        运行过程中一直...

2018-09-04 18:02:08 1460

转载 运行时,so库找不到的原因

ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。ldconfig的主要用途:默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。搜索出可共享的动态链接库,库文件的格式为:lib***.so.**,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,该文件...

2018-09-04 17:58:06 3163

原创 Virtualbox 共享文件夹 cannot create symlink error 问题

环境:       Windows10 + VirtualBox + ubuntu1604 安装VirtualBox增强功能、设置共享文件夹,在复制或者创建新的文件的时候出现了如下问题:cp: cannot create symbolic link `xxxx':Read-only file system或:cp: cannot create symbolic lin...

2018-09-04 17:07:56 1750

原创 win10为VirtualBox安装增强功能失败

环境:在win10系统下安装VirtualBox虚拟机,虚拟机中安装Ubuntu           Ubuntu-16.04.3-desktop-amd64.iso            VirtualBox5.2.18             Win10 问题:点击虚拟机的“设备”,安装增强功能,提示安装失败,modprobe fail解决方式:执行以下两步sudo ap...

2018-08-28 11:38:47 9306 1

原创 Valgrind 测试内存泄露并生成报告

valgrind --log-file=./valgrind_report.log --leak-check=full --show-leak-kinds=all --show-reachable=no --track-origins=yes (可执行文件) [可执行文件参数]  

2018-08-24 15:11:29 2158

原创 C++ lambda表达式

C++ lambda表达式:可以方便的定义和创建匿名函数Lambda表达式完整的声明格式如下:[capture list] (params list) mutable exception-&gt; return type { function body }   各项具体含义如下    capture list:捕获外部变量列表    params list:形参列表    mu...

2018-08-15 14:13:07 98

原创 sscanf的几点用法_铽可喏_新浪博客

1.给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中sscanf("iios/12DDWDFF@122","%*[^/]/%[^@]",buf);printf("%s\n",buf);结果:12DDWDFF2.给定字符串"<5公里",获取字符串中的数字...

2018-08-02 20:19:22 41

原创 Linux下U盘变成ReadOnly_铽可喏_新浪博客

1. 卸载umount/media/(U盘被挂在后的名字)2.修复//dev/sdb1 为u盘挂载的块,可用 sudo fdisk-l看出来,U盘所对应的Device​sudo dosfsck -v -a/dev/sdb1 ...

2018-07-25 21:24:22 177

原创 QNX监控性能的指令_铽可喏_新浪博客

一、命令 pidinpidin -p 123456 -F %u //进程123456的运行时间pidin -p 123456 -F %h //线程名称 ,只能打印出第一个线程的名称pidin threads | grep Sample//Sample进程下的线程信息,如线程名pidin -p 123456 -F "%z %u %b %h"//打印出进程...

2018-07-25 21:14:49 2204

原创 Mp3的解码流程_铽可喏_新浪博客

Mp3的解码总体上可分为9个过程:比特流分解,霍夫曼解码,逆量化处理,立体声处理,频谱重排列,抗锯齿处理,IMDCT变换,子带合成,pcm输出。百度文库中的这篇文章讲解非常好。Mp3的解码流程https://wenku.baidu.com/view/27ac072ccfc789eb172dc8b6.html ...

2018-07-12 11:33:33 517

原创 Linux播放PCM文件_铽可喏_新浪博客

上一篇博文中,将MP3文件通过mad库解析成了PCM文件,如果直接用默认的音乐播放器打开,会发现播放时长变为原先的10来倍,并且音频播放也是10倍缓慢。可安装sox组件,用play来播放://播放音频out.pcmMP3的采样率为44100Hz,双声道play -traw -r 44100 -e signed -b 16 -c 2 out.pcm-r =...

2018-07-12 10:58:56 4550

原创 Libmad开源MP3解码库的使用_铽可喏_新浪博客

MAD(libmad)是一个开源的高精度MPEG音频解码库。libmad提供24-bit的PCM输出,完全定点计算。使用libmad提供的一系列API可以实现MP3文件的解码。libmad通过回调函数机制来实现解码,当mad_decoder_init初始化完成后,程序执行mad_decoder_run,这时候程序就会不断调...

2018-07-12 10:50:01 2033

原创 [转载]音频采样率和码率简介_铽可喏_新浪博客

一般下载的MP3文件,看音频属性,可看到采样率(SampleRate)为44100Hz,码率(BitRate)为128kbps。原文地址:音频采样率和码率简介作者:pengdexin音频采样率和码率1、背景知识人的说话频率基本上为300Hz-3400Hz,但是人耳朵听觉频率基本上为20Hz-20000Hz。2、采样率实际中,人发出的声音信号为模拟信号,想要...

2018-07-12 09:27:34 1404

原创 BNF_铽可喏_新浪博客

BNF:以形式化的符号来描述给定编程语言的语法规则。比如:C语言的声明语句可以用BNF这样描述:  <声明语句> ::=<类型><标识符>;|<类型><标识符>[<数字>];  这一句中<声明语句>这个非终结符被定义成了两种形式(上面用|隔开的...

2018-07-06 16:06:31 53

原创 Linux下监控性能的命令_铽可喏_新浪博客

1.pmap :Linux进程内存映射关系2.top -p -H :查看线程CPU和内存占用3.ps -eLf 获得线程信息4.pstree 树状图展示进程间的派生关系5.pstack :显示每个线程的栈跟踪,pid为线程号6.strace :可跟踪系统调用,如-c,可统计系统调用(memset、strncpy等)的调用次数、执行时间等。7....

2018-06-28 10:15:33 113

原创 查看当前系统的glibc版本_铽可喏_新浪博客

有时:/lib/x86-64-linux/libc.so.6把这个文件当命令执行一下或者:ldd --version

2018-06-28 10:10:07 445

原创 addr2line带so库的崩溃定位_铽可喏_新浪博客

带有so库程序,如果崩溃点在so库内,崩溃后,按以下步骤定位崩溃位置:1.执行命令“dmesg | tail”[36428.047870] traps: hello[23808] trap divide errorip:7f488bc77752 sp:7ffeca9d5170 error:0 inlibbreakdowndemo.so[7f488bc77000...

2018-06-20 22:17:01 1042

原创 addr2line定位程序崩溃位置_铽可喏_新浪博客

本例子默认调试用的可执行程序为hello源码 hello.cpp 如下:1 int main()2 {3int b = 0;4int g_a = 10/b;5printf("end test \n");6return 1;7 }编译程序:g++ -g -O0 hello.cpp -ohello,得到可执行程序hell...

2018-06-20 22:08:47 214

原创 Linux下制作WindowsU盘启动盘_铽可喏_新浪博客

1.卸载并格式化U盘mount -l | grep "sd"//可以查出含有“sd”的设备挂载的路径 umount/media/path/to/udisk //U盘挂在的路径fdisk -l可以查出当前U盘所在盘符,如本例子中是/dev/sdb4 sudo mkfs.vfat/dev/sdb42.安装woeusb,图形化...

2018-06-14 15:52:49 1887

原创 makefile:***missingseparator.Stop_铽可喏_新浪博客

问题描述  在执行Makefile时,有时候会出现missing separator的错误,通常的原因是tab格式导致的。原因  makefile里只有命令所在的行才能且只能以TAB开头,make变量的定义、赋值,make内定函数如$(error“strings”)都不能以TAB开头,不然make会将其作为命令来处理!格式检查  使用如下命令, tasbs...

2018-06-13 21:18:18 543

原创 QtCreator下载地址_铽可喏_新浪博客

http://download.qt.io/development_releases/qtcreator/http://iso.mirrors.ustc.edu.cn/qtproject/official_releases/qtcreator/4.6/4.6.0/qt-creator-opensource-windows-x86-4.6.0.exehttps://mirrors....

2018-06-11 20:07:16 52

原创 VisualGDB的调试未经处理的异常:System.IO.FileLoadException_铽可喏_新浪博客

VS2010在启动的时候,提示如下信息:未经处理的异常:System.IO.FileLoadException: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。解决方法:找到VisualGDB安装目录下的VisualGDB.exe.config文件,增加以下语句:<startup useLe...

2018-06-04 13:41:03 202

winxp SNMP组件包

包含winXP下的SNMP安装组件及测试工具snmputil

2015-06-16

基于51的小计算器

该代码可实现简单计算功能,主要是任意次数的加减乘除混合运算。

2011-12-17

空空如也

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

TA关注的人

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