自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(231)
  • 资源 (4)
  • 收藏
  • 关注

原创 linux判断进程单例的一种方式

bool initSigleInstanceLock(const std::string &processName) { // bool ret=false; static const char *lockFileName="/tmp/daemon_service.lck"; int fd=-1; do{ fd=open(lockFileName,O_RDWR|O_CREAT|__O_CL...

2021-10-19 10:40:39 300

原创 linux基于libiconv进行编码转换

string server_common::charset_convert(const void *buf,uint32_t buf_len,const string &from_encode,const string &to_endcode){ auto iconv_id=iconv_open(to_endcode.c_str(),from_encode.c_str()); if(iconv_id==reinterpret_cast<iconv_t>(-1).

2021-01-06 15:10:56 304 1

转载 git命令学习网址

git学习网址https://learngitbranching.js.org/?demo=&locale=zh_CNhttps://github.com/pcottle/learnGitBranching

2020-12-25 15:51:46 386

原创 三方库交叉编译后无法正常运行

可能是编译时检查的库版本为系统库版本,而运行时的依赖库版本与系统库版本不一致

2020-12-17 17:20:03 211

原创 C++观察者模式简单实现

//file iobserver.h#ifndef IOBSERVER_H#define IOBSERVER_H#include<map>#include<string>#include<functional>#include<mutex>namespace micagent {using namespace std;template <typename DATA>class iobserver{public:iobser.

2020-09-12 15:36:05 118

原创 UNIX DOMAIN SOCKET 使用示例 包含 STREAM及DGRAM 服务器/客户端收发示例

//file unix_socket_helper.h#ifndef UNIX_SOCKET_HELPER_H#define UNIX_SOCKET_HELPER_H#include <unistd.h>#include <sys/un.h>#include <sys/types.h>#include <sys/socket.h>#include<string>#define SOCKET int#define INVALID_.

2020-09-12 10:18:41 622

转载 去除linux文件bom头

1.查找bom头文件grep -r -I -l $'^\xEF\xBB\xBF' ./2.替换bom头文件find . -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \;

2020-08-05 10:12:56 657

原创 LIBJPEG交叉编译并用其将ARGB32转JPEG

#编译脚本 build.sh#!/bin/bashgcc_prefix=$1install_dir=$2cache_dir=$3host_name=" "if test -z ${gcc_prefix} ;then gcc_prefix=/usr/bin/else host_name=arm-linuxfiif test -z ${install_dir} ;then install_dir=$(pwd)/installfiif test -z ${cache_dir} .

2020-07-21 16:36:18 421

原创 QT HTTP上传二进制测试

#include <QCoreApplication>#include <QNetworkAccessManager>#include <QNetworkRequest>#include <QNetworkReply>#include <QJsonObject>#include <QJsonDocument>#include<cstdio>#include <QTimer>#include &l.

2020-07-16 14:09:13 639

原创 平衡树生成

#ifndef BANLANCE_TREE_H#define BANLANCE_TREE_H#include <vector>#include<mutex>#include<cmath>#include<cstring>template <typename T>class banlance_tree{ struct banlance_tree_node{ int index; T data;.

2020-06-20 11:46:30 275

原创 TCP异步连接状态判断原理

1.TCP socket未调用connect函数之前处于可读可写状态2.调用connect函数后socket由于协议栈发包,变为不可写状态,当协议栈发包结束,变成可写状态3.监听可写状态,判断socket上的错误状态,若无错误发生,则连接成功...

2020-06-18 19:04:19 565

原创 异步IO处理示例

https://github.com/xuyuanwang1993/events_handlerwindows编译环境:vs2019LINUX编译环境: GCC4.8+C++事件处理,支持线程池,延时队列,异步IO处理

2020-04-10 11:13:12 230

原创 ubuntu -18.04裸机 配置了QT5.14开发环境

百度网盘链接:https://pan.baidu.com/s/1Qcgxdtn2uLbkE8DYyEGCtA提取码:p70t

2020-04-05 13:30:36 419

原创 泛型编程 二叉树与数组的相互转换,打印,获取二叉树深度

/* 二叉树节点定义 */ template<typename T=void> struct Binary_Tree { T* val; Binary_Tree* left; Binary_Tree* right; Binary_Tree(T _val) :left(nullptr),right(nullptr){ val = new T(_val);...

2020-03-10 20:14:47 158

原创 C++泛型编程练习三 选择排序,归并排序,冒泡排序,快速排序

/* 简单选择排序 */ template<typename T,typename Compare=Less<T>> static std::vector<T>& simple_select_sort(std::vector<T>& arg) { if (arg.empty())return arg; Com...

2020-03-07 15:33:48 202

原创 C++泛型编程练习二 希尔排序

#pragma once#include <vector>#include<string>#include<iostream>#include<random>#include<cmath>#include<functional>#include<map>#include<time.h>...

2020-03-06 17:49:10 135

原创 C++泛型编程练习 直接插入排序

/*.h*/#pragma once#include <vector>#include<string>#include<iostream>#include<random>#include<cmath>#include<functional>#include<map>class Tools{p...

2020-02-28 16:16:41 166

原创 linux 下使用gsoap 编译生成onvif源代码+动态库

1.安装openssl2.下载gsoap3.将Makefile 与其它source置于与gsoap同级的目录下,修改makefile内的gsoap版本信息,makefile如下# Makefile of gsoapARCH ?=gsoap_vesion := gsoap-2.8root_dir := $(shell pwd)build_dir := $(root_dir...

2020-01-16 16:16:20 1321

原创 C++模板使用示例

using namespace std;struct test{ int a; int b; int c; int d;};ostream &operator <<(ostream &os,const test & tmp){ os<<"a:"<<tmp.a<<" b:"<<tmp.b<&...

2020-01-07 19:01:55 113

原创 <leecode> 827.最大人工岛

在二维地图上, 0代表海洋, 1代表陆地,我们最多只能将一格 0 海洋变成 1变成陆地。进行填海之后,地图上最大的岛屿面积是多少?(上、下、左、右四个方向相连的 1 可形成岛屿)示例 1:输入: [[1, 0], [0, 1]]输出: 3解释: 将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。示例 2:输入: [[1, 1], [1, 0]]输出: 4解释: 将...

2019-12-27 14:58:28 174

原创 C/C++ struct存储对齐方式测试

#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>//#pragma pack(8)#define IOFFSETOF(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)struct ...

2019-11-13 17:33:42 116

原创 Upnp映射源码

支持外网IP获取,端口映射添加/删除,无三方依赖https://github.com/xuyuanwang1993/UpnpTool

2019-10-16 14:43:10 525

原创 基于KCP协议的P2P传输测试代码

含P2P客户端和P2P服务器代码https://github.com/xuyuanwang1993/p2p_work_on_kcp

2019-09-19 09:11:39 915

原创 linux文件补丁使用

创建test0.txt 输入12345创建test1.txt 输入 123456789在test0.txt 目录下 运行 diff -uN test0.txt test1.txt >test.patch将test0.txt 与test1.txt 内容差异输出至test.patch中将test.patch 复制至test0.txt目录中 使用patch -p0 <test....

2019-09-06 17:00:28 130

原创 版本号比较

#include <vector>#include <string>std::vector<std::string>split_string(std::string input,std::string spilt_token){ std::vector<std::string> ret; int find_pos; i...

2019-09-05 12:06:43 165

原创 UNIX套接字测试

#include "sys/epoll.h"#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <cstdio>#include <sys/types.h>#include <iostream>#include...

2019-08-24 11:19:52 152

原创 cJSON字符串解析

源字符串{ "menu": { "header": "SVG Viewer", "items": [{ "id": "Open" }, { "id": "OpenNew", "label": "Ope...

2019-07-13 11:56:44 3053

原创 cJSON的创建

目标文本{ "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": { "GlossEntry": { ...

2019-07-13 10:43:25 937

原创 NO.206 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list...

2019-06-27 11:17:39 102

原创 NO.205 同构字符串

给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "bar"输出: f...

2019-06-27 10:38:38 158

原创 NO.204 计数质数

统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-primes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。int countPrimes(in...

2019-06-27 10:11:47 96

原创 NO.203 移除链表元素

删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-linked-list-elements著作权归领扣网络所有...

2019-06-27 09:13:47 106

原创 NO.202 快乐数

编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 ...

2019-06-27 09:00:52 111

原创 NO.200 岛屿数量

给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3来源:力扣(LeetCode)链接:htt...

2019-06-26 17:18:10 88

原创 NO.199 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <---/ \2 3 <---\ \ 5 4 <---来源:力扣(LeetCode...

2019-06-26 16:23:49 109

原创 NO.198 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 ...

2019-06-26 16:11:33 147

原创 NO.190 颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, 因此返回 964176192,其二进制表示形式为...

2019-06-26 15:55:55 145

原创 NO.189 旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99]...

2019-06-26 15:32:47 101

原创 NO.188 买卖股票的最佳时机IV

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [2,4,1], k = 2输出: 2解释: 在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获...

2019-06-26 14:51:55 114

转载 常用字符串hash函数(转)

// ELF Hash Function unsigned int ELFHash(char *str) { unsigned int hash = 0; unsigned int x = 0; while (*str) { hash = (hash << 4) + (*str++);//hash左移4位,...

2019-06-26 10:40:31 659

onvif在linux下的交叉编译

onvif编译,交叉编译使用是的openssl版本需与原编译环境系统ssl库版本一致

2020-12-18

test_jpeg.tar

交叉编译JPEG库,并用其将ARGB原始数据转换成JPEG输出

2020-07-21

UPNP映射控制点源码

UPNP映射控制点源码,使用QT创建,测试了主流的路由器

2018-12-06

linux下基于UDP的P2P打洞示例程序

LINUX下基于UDP的P2P打洞程序,改自http://www.ppcn.net/p2ptech.html

2018-07-06

空空如也

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

TA关注的人

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