自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

believe_s的博客

[我的github地址](https://github.com/believeszw)

  • 博客(164)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于java的数据结构学习——动态数组C++类模板(含拷贝构造,重载常见运算符)

之前实现了java的动态数组,试着写了个C++版的,同样对时间复杂度振荡进行了处理。纯手打,代码如下 ://// Created by PC-Saw on 2018/12/19.//#ifndef DATA_STRUCTURE_MYARRAY_H#define DATA_STRUCTURE_MYARRAY_H#include <iostream>using na...

2018-12-20 20:33:24 574

原创 leetcode练习——数组篇(1)(std::ios::sync_with_stdio(false);std::cin.tie(nullptr);)

题号1. 两数之和:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 ...

2018-12-17 21:30:47 304

原创 字节内推~

大佬们有兴趣来字节约饭么,下面是内推链接~社招内推链接:https://job.toutiao.com/s/LwpKWU8校招内推链接:https://job.toutiao.com/s/LwsFw6g

2022-03-07 15:04:53 343

原创 Ubuntu下selenium+Chrome的安装使用

Ubuntu下selenium+Chrome的安装使用安装 chrome官网下载安装包sudo dpkg -i google-chrome-stable_current_amd64.debwhereis google-chrome安装seleniumpip3 install selenium下载chromedriver(火狐使用geckodriver)驱动http:...

2019-12-13 15:48:15 390

原创 linux下使用TC模拟弱网络环境

linux下使用TC模拟弱网络环境模拟延迟传输简介netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情 况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如 Fedora、Ubuntu、Redhat...

2019-12-13 15:47:22 1297

原创 宏定义及相关用法

宏定义及相关用法欢迎各位补充目录一些成熟软件中常用的宏定义:使用一些内置宏跟踪调试:宏定义防止使用时错误:宏与函数带副作用的宏参数特殊符号:’#’、’##’1、一般用法2、当宏参数是另一个宏的时候__VA_ARGS__与##__VA_ARGS__一些成熟软件中常用的宏定义:1,防止一个头文件被重复包含#ifndef COMDEF_H#define CO...

2019-12-06 16:39:20 1209 1

原创 无处不在的container_of

无处不在的container_oflinux 内核中定义了一个非常精炼的双向循环链表及它的相关操作。如下所示:struct list_head { struct list_head* next, * prev;};ubuntu 12.04 中这个结构定义在 /usr/src/linux-headers-3.2.0-24-generic/include/linux/types.h 中,...

2019-12-06 16:38:15 196

原创 C语言的“编译时多态”

typeof 在 kernel 中的使用 —— C 语言的“编译时多态”C 语言本身没有多态的概念,函数没有重载的概念。然而随着 C 语言编写的软件逐渐庞大,越来越多地需要引入一些其他语言中的特性,来帮助更高效地进行开发,Linux kernel 是一个典型例子。在动态类型的语言里面,往往有 typeof 这种语法,来获取变量的数据类型,比如 JavaScript 当中,typeof 以字符串...

2019-12-06 13:44:26 412

原创 Onvif2.6.1命名空间前缀对照

Onvif2.6.1命名空间前缀对照tds = http://www.onvif.org/ver10/device/wsdltev = http://www.onvif.org/ver10/events/wsdltls = http://www.onvif.org/ver10/display/wsdltmd = http://www.onvif.org/ver10/deviceIO/wsd...

2019-10-12 11:26:44 437

原创 数据结构——数组

数组github地址数组基础数组最大的有点:快速查询。索引快数组最好应用于 “索引有语义” 的情况但并非所有有语义的索引都适用于数组(身份证号)数组也可以处理 ”索引没有语义“ 的情况封装数组类数组类该具备的功能:增 删 改 查使用泛型:让我们的数据结构可以放置 “任何” 数据类型实现构造函数我们希望有两个构造函数,可以支持给定容量和默认容量,这里默认容量我们...

2019-09-20 14:47:50 132

原创 TDD实例

TDD实例github地址项目中对于 TDD 的实战,依赖的是 GoogleTest 框架我负责编码单元对中控提供设置编码单元设置视频源设置视频输出状态检测开启通道关闭通道这 6 个接口,中控通过 http 调用编码单元接口,为了解耦和方便进行 TDD 测试,我们将这几个方法写成一个抽象类,编码单元再实现具体的方法:class IEventHandler { publi...

2019-09-20 14:47:07 1263

原创 PyQt安装和环境配置

PyQt安装和环境配置github地址首先安装Pycharm新建一个空的 python 工程,找到 setting 安装第三方模块 PyQT5 , 点加号,先安 PyQT5 , 再安装 pyqt5-tools ,后面包含 qtdesinger 以上模块都安完,设置扩展工具的参数找到 setting->tools->external tools , 点击加号新建工具配...

2019-09-20 14:46:12 1169

原创 gdb 调试 TuMediaService

gdb 调试 TuMediaServicegithub地址起因首先需要有 armgdb 环境运行 ./armgdb ./TuMediaService 进入 gdb 模式b hi3531_trcod_interface.cc:98 打断点r 运行程序print this->vdec_config_path_ 打印关键值 在这里我们关注的值已经被修改,由于程序中没有刻意对...

2019-09-20 14:44:33 119

原创 Jenkins自动编译库并上传服务器

Jenkins自动编译库并上传服务器github地址首先添加 git 地址: 再添加定时构建,每天夜里构建一次: 执行 shell 脚本进行构建cd networklayerecho "build json x86"cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release -G "CodeBlocks - U...

2019-09-20 14:40:50 551

原创 高效的序列化/反序列化数据方式 Protobuf

高效的序列化/反序列化数据方式 Protobufgithub地址目录protocolBuffers 序列化Int32StringMapslice序列化小结protocolBuffers 反序列化Int32StringMapslice序列化小结序列化/反序列化性能最后 protocolBuffers序列化上篇文章中其实已经讲过了 encode ...

2019-09-09 15:54:10 1795

原创 高效的数据压缩编码方式 Protobuf

高效的数据压缩编码方式 Protobufgithub地址目录ProtocolBuffers 是什么为什么要发明 ProtocolBuffersproto3 定义 Message分配字段编号保留字段默认字段规则各个语言标量类型对应关系枚举枚举中的保留值允许嵌套枚举不兼容性更新 Message未知字段Map 类型JsonMappingproto3 定义 Se...

2019-09-09 15:52:39 1900

原创 Protobuf使用

Protobuf使用github地址目录proto3的更新定义协议格式编译protobufprotobuf_API枚举和嵌套类标准消息方法解析和序列化写一条消息阅读消息编译Protobuf扩展优化高级用法proto3的更新在第一行非空白非注释行,必须写:syntax = "proto3";字段规则移除了 required,并把 optio...

2019-09-09 15:51:21 420

原创 valgrind检测libevent内存泄露

valgrind检测libevent内存泄露github地址在使用封装好的http库时,遇到了如下的内存泄露,一开始在definitely处还存在泄露,这里就不贴图了,已经被淹没了。 根据提示定位出错代码位置,如下图: 这里提示evhttp_new这里出现了泄露,我们先到http库中解决已经存在的内存泄露,在析构函数里已经对这一块做了处理如下图: 这里有一个注意点,因为这里是...

2019-09-09 15:48:52 731

原创 jenkins自动化部署

jenkins自动化部署github地址首先设置源码地址,jenkins会从仓库中拉取最新代码 拉取代码后运行shell脚本自动进行编译cd mediaServicecmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/targe...

2019-09-09 15:47:28 166

原创 C++没有调用析构函数

github地址在项目中遇到一个问题,析构函数没有调用产生了内存泄露。具体见valgrind检测libevent内存泄露我们看两个例子demo1class Test1;void del(Test1* obj){ delete obj;}class Test1{public: Test1(){ printf("Test1\r\n"); }...

2019-09-09 15:44:24 2398

原创 chrome中Google插件导出导入

导出插件:一般电脑默认将你安装的插件存放的位置在:C:\Users(用户)\你的电脑名称\AppData\Local\Google\Chrome\User Data\Default\Extensions 这个文件夹下。这里的 AppData 是个隐藏文件夹,需要显示隐藏文件夹才行。这里存放了你所有安装过的插件。之后就是打包了,打开 chrome 浏览器,打开设置—扩展程序—点击开发者模式。然后...

2019-09-09 15:42:07 4496

原创 移动语义,右值引用

移动语义目录右值引用变量是左值move库函数移动构造函数和移动赋值移动操作库容器和异常移动赋值操作符移动后的对象必须是可以析构的合成移动操作右值移动左值拷贝右值在无法被移动时进行拷贝拷贝和交换赋值操作与移动移动迭代器右值引用和成员函数右值与左值引用的成员函数重载带引用修饰符的成员函数精确传递 关键术语有一些类的资源是__不可共享__的,这种类型的对象可以被...

2019-08-29 17:43:11 194

原创 CMake 常用的预定义变量

CMake 常用的预定义变量PROJECT_NAME : 通过 project() 指定项目名称PROJECT_SOURCE_DIR : 工程的根目录PROJECT_BINARY_DIR : 执行 cmake 命令的目录CMAKE_CURRENT_SOURCE_DIR : 当前 CMakeList.txt 文件所在的目录CMAKE_CURRENT_BINARY_DIR : 编译目录,可使...

2019-08-29 17:41:45 599

原创 Protocol Buffer 序列化

Protobuf使用目录proto3的更新定义协议格式编译protobufprotobuf_API枚举和嵌套类标准消息方法解析和序列化写一条消息阅读消息编译Protobuf扩展优化高级用法proto3的更新在第一行非空白非注释行,必须写:syntax = "proto3";字段规则移除了 required,并把 optional 改名为 s...

2019-08-29 17:39:22 1194

原创 C++11新特性——移动语义,右值引用

移动语义有一些类的资源是__不可共享__的,这种类型的对象可以被移动但不能被拷贝,如:IO 或 unique_ptr库容器、string 和 shared_ptr 支持拷贝和移动,IO 和 unique_ptr 则只能移动不能拷贝。。右值引用右值引用是必须绑定到右值的引用,右值引用使用 && 符号,相较于左值引用的& 。右值引用有一个特性就是其只能绑定到即将销毁的对...

2019-08-20 16:12:08 355

原创 书写README的各种markdown语法

README该文件用来测试和展示书写README的各种markdown语法。GitHub的markdown语法在标准的markdown语法基础上做了扩充,称之为GitHub Flavored Markdown。简称GFM,GFM在GitHub上有广泛应用,除了README文件外,issues和wiki均支持markdown语法。AuthorbelieveszwE-mail...

2019-08-20 16:05:53 323

原创 无损压缩——Huffman编码

最近项目中涉及到人脸关键点中神经网络的压缩,采用了性能较好的哈夫曼编码进行。源码地址:https://github.com/believeszw/HuffmanCompress1 引言 哈夫曼(Huffman)编码算法是基于二叉树构建编码压缩结构的,它是数据压缩中经典的一种算法。算法根据文本字符出现的频率,重新对字符进行编码。因为为了缩短编码的长度,我们自然希望频率越高的词,编码越短,...

2019-05-10 11:07:07 6217

原创 Java 强引用、弱引用、软引用、虚引用

1、强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:Object o=new Object(); // 强引用当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时,要...

2019-03-28 20:36:08 1089 2

原创 C++ 学习杂谈:sizeof和sizeof(string)的问题

最近遇到一个令我困惑的问题,就是 sizeof(string)的值,之前在vs2010上测得是固定28,最近在用CLion,上面测得是4,出现了不一样的结果,我又在vs2013上试了一下,结果又不一样,在vs2013上是32.查阅了相关资料得出结论:string的实现在各库中可能有所不同,但是在同一库中相同一点是,无论你的string里放多长的字符串,它的sizeof()都是固定的,字符串所占...

2019-01-29 15:50:37 3288

原创 Thinking in C++遇到的函数指针及应用

//// Created by PC-Saw on 2019/1/24.//#include <iostream>#define TEST 2/* 1. */ typedef int* (*(*fp1)(int))[10]; // 首先是一个函数指针,接受一个int型参数,返回一个指向10个int指针数组的指针/* 2. */ ...

2019-01-24 22:23:26 96

原创 基于java的数据结构学习——数组实现的栈以及简单应用C++实现

基于java的数据结构学习——数组实现的栈以及简单应用的 C++ 实现源码: //// Created by PC-Saw on 2019/1/3.//#ifndef DATA_STRUCTURE_ARRAYSTACK_H#define DATA_STRUCTURE_ARRAYSTACK_H#include "Stack.h"#include "MyArray.h"...

2019-01-03 16:11:32 180

原创 基于java的数据结构学习——数组实现的队列和循环队列及性能对比

队列 Queue队列也是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素 队列是一种先进先出的数据结构队列的实现及复杂度分析Queue<E>void enqueu(E) E dequeue() E getFront() int getSize() boolean isEmpty()数组队列的复杂度...

2019-01-02 23:32:39 221

原创 leetcode练习——栈(1)

题号20:Invalid ParenthesesGiven a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.An input string is valid if:Open brackets must be cl...

2019-01-02 15:18:45 268

原创 基于java的数据结构学习——数组实现的栈以及简单应用

栈 Stack栈是一种线性结构 相比数组,栈对应的操作是数组的子集 只能从一端添加元素,也只能从一端取出元素 这一端称为栈顶 栈是一种后进先出的数据结构栈的应用无处不在的Undo操作(撤销) 括号匹配(编译器) 程序调用的系统栈 funA(){ 1  ... 2  B() 3  ... } funB(){ ...

2019-01-02 14:36:07 172

原创 信息学竞赛的常数优化、常见问题、代码风格相关

在查std::ios::sync_with_stdio(false);有关信息时,看到https://blog.csdn.net/qq_33583069/article/details/53086992 这篇博客,对其中一些问题比较感兴趣,整理了下相关资料:isdigit()https://blog.csdn.net/cupidove/article/details/43271579这...

2018-12-25 17:08:06 247

转载 JetBrains 系列软件汉化包

Android Studio 3.0-3.1 汉化包CLion 2018.1 汉化包GoLand 2017.3.2-2018.1 汉化包IntelliJ IDEA 2017.3-2018.1 汉化包PhpStorm 2017.3-2018.1 汉化包PyCharm 2017.3-2018.1 汉化包RubyMine 2017.3.2-2018.1 汉化包WebStorm 2017.3...

2018-12-21 10:58:55 542

原创 基于java的数据结构学习——泛型动态数组的封装

public class Array<E> { private E[] data; private int size; // 构造函数 public Array(int Capacity){ data = (E[])new Object[Capacity]; size = 0; } // 默认构造函数...

2018-12-14 11:08:08 181

原创 错误代码:0xc000007b 解决思路

三维电子沙盘项目:现场环境部署时,二维平台和模型在实际部署中遇到了0xc000007b的问题,网上很多说是DX的问题,但并不能解决。之前在编译OpenDDS时也遇到过类似的问题,是在不同版本的OpenDDS的动态库混用时遇到的,解决的办法是调整动态库。这里的问题则初步定位是动态库的问题,在对部分可能存在问题的动态库调换后,还是没有解决,后来利用红辣椒和Depends查看依赖动态库,发现是32...

2018-11-27 19:53:18 5921

原创 C++ 中 new 操作符内幕:new operator、operator new、placement new

一、new 操作符(new operator)人们有时好像喜欢有意使C++语言的术语难以理解。比方说new操作符(new operator)和operator new的差别。当你写这种代码:string *ps = new string("Memory Management");你使用的new是new操作符。这个操作符就象sizeof一样是语言内置的。你不能改变它的含义,它的功能总是一...

2018-10-22 17:19:52 221

原创 #pragma once 与 #ifndef比较分析

为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。方式一:#ifndef __SOMEFILE_H__#define __SOMEFILE_H__... ... // 一些声明语句#endif方式二: #pragma ...

2018-09-26 09:22:34 333

GoogleBoost谷歌加速器

安装过程 1. 下载好GoogleBoost的.crx文件放在本地电脑 2. chrome浏览器网址栏输入:chrome://extensions 打开chrome扩展程序管理页面 3. 将.crx文件拖放到chrome扩展程序管理页面,确认添加

2018-12-17

qtwinmigrate for qt5+

qtwinmigrate for qt5+,将src目录下的部分文件拷到项目目录即可使用

2018-09-26

OpenDDS官方用户手册(中英文版)

附带中英文比照,除了java部分没有翻译,其余都有,如果有什么问题欢迎留言

2018-08-29

空空如也

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

TA关注的人

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