- 博客(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
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人