自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (2)
  • 收藏
  • 关注

原创 字符串处理函数

1.strtok参数strToken字符串包含一个标记或一个以上的标记。strDelimit分隔符的设置。locale要使用的区域设置。返回值返回在 strToken中指向下一个标记的指针。 当未找到其他标记时,它们返回 NULL 。 通过为返回标记后出现的第一个分隔符替换 NULL 字符,每个调用修改 strToken 。备注strtok ...

2018-10-08 14:13:02 399

原创 Onvif 学习笔记(3)Onvif框架搭建

Onvif开发环境搭建框架代码在Linux环境下生成,经过比对,以下连个版本操作系统在使用相同版本的情况下生成的框架代码相同 生成框架环境准备下面记录的是在CentOS下编译gSoap生成框架代码的过程 要使用root用户进行编译安装,否则可能会因权限问题导致安装失败。在桌面打开终端并切换到root用户$ su输入密码,出现类似“[root@localhos...

2018-09-27 13:13:53 2293

原创 virtual学习

// virtual学习.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>class father{public: father(){}; // 析构为纯虚函数,防止派生类析构不完整 virtual ~father() = default; // 基类自定义构造函数...

2018-09-20 18:48:30 542

原创 Windows转linux 常见数据类型宏定义

//---------------------------------------------------------#ifndef WIN32typedef unsigned char UCHAR;typedef unsigned char* PBYTE;typedef char* LPTSTR;typedef...

2018-09-12 11:17:59 609

原创 网络传输粘包解包处理

有时候发送的数据过长,接收的时候只接收了一部分,会出现错误。这里以客户端接收服务端消息为例,讲解一种解包的方法,作为备忘(总是忘没办法)1.客户端有一段缓冲区char m_szAnalysisBuf[51200] 成员变量,用于存放接收数据,在回调函数收到数据后,判断缓冲区是否满了(一般不会满),未满的话将新接收的数据加入到缓冲区中,并更新缓冲区长度。如果缓冲区满了,则舍弃掉原缓冲区的数据,将...

2018-09-12 11:05:57 809

原创 ONVIF学习笔记(2)gSOAP初探

 gSOAP 编译工具提供了一个SOAP关于C/C++ 语言的实现,从而让C/C++语言开发Web Services服务端或客户端程序的工作变得轻松了很多。甚至,即使你对Web Services不甚了解都没有关系,有了gSOAP这样的工具,你也能开发基于SOAP方式实现的Web Services客户端。什么是 SOAP?基本的 Web services 平台是 XML + HTTP。...

2018-09-11 19:56:45 1028

原创 Onvif学习笔记(1)ONVIF Test Tool 的使用

安装ONVIF Test Tool 后,打开软件,将ip选为与摄像头相同的网段,然后查找设备发现设备后,点击check可以查看详细信息,需要注意的是如果摄像头有登录信息的话,需要填入,否则没有权限在Debug菜单中可以调试各种请求信息,方便我们理解ONVIF协议 ...

2018-09-11 19:32:48 4472

转载 Linux下串口通信详解(下)读写串口及关闭串口

上一篇博客是串口的打开及配置这一篇将要把读写串口及串口关闭的操作详细介绍一下。读串口读串口就是接收串口数据,通过read来实现。read函数原型: #include <unistd.h>ssize_t read(int fd, void *buf, size_t count); 参数说明:fd:文件描述符 *buf:缓冲区,读取的数据会被放到...

2018-09-07 10:53:29 574

转载 Linux下串口通信详解(上)打开串口和串口初始化详解

Linux下串口通信主要有下面几个步骤 串口通信流程图下面我会一一介绍这几个步骤。1.打开串口代码(串口为ttyUSB0) [java] view plain copy///打开串口  int open_port(void)  {      int fd;                fd=open("/dev/ttyUSB0",O_RDWR | ...

2018-09-07 10:47:29 1004

转载 C——Linux下的串口编程(转)

之前在学习安信可A7模块时,是在PC上使用串口调试助手做了GPS的坐标数据信息的采集,同时分析了一些语句的含义。在这过程中,涉及到对嵌入式开发人员一个非常重要的知识:串口通信。在前篇也说到,我们将会自己写程序来对GPS数据进行解析,而这些数据正是靠串口来传输的。所以,本篇博文将进行关于串口通信的学习。一、串口接头首先我们得知道串口长什么样,常用的串口接头有两种,一种是9针串口(简称DB-9...

2018-09-06 18:54:19 1370

转载 从 Windows 向 Linux 迁移设备控制应用程序

从 Windows 向 Linux 迁移设备控制应用程序通过认识 Windows 和 Linux 在设备控制方面的差异,克服迁移中的难题Sun Ling 和 Yang Yi2008 年 7 月 14 日发布WeiboGoogle+用电子邮件发送本页面 0如果读者开发过不同平台的设备控制应用程序,那么肯定了解 Windows 和 Linux 的设备控制方式的差别,从一个...

2018-09-06 18:20:59 778

原创 C++11 wstring、string、utf-8、utf-16之间的相互转换

// C++11_wstring_string.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <locale>#include <codecvt>#include <iostream>#include <string>#include <windows.h>std...

2018-09-06 11:51:22 7203

原创 C++函数指针练习

bool useBigger(const std::string& a, const std::string& b){ return a.compare(b) > 0 ? true : false;}// 函数类型typedef bool Func(const std::string&, const std::string&);typede...

2018-09-03 16:41:25 674

原创 sizeof、strlen、length() 区别与联系

char szTest[] = "Test string length"; std::string strTest = "Test string length"; // sizeof 的作用为返回该类型在内存中所占空间真实大小,与其对象无关 int nSzSize = sizeof(szTest); // 19,包含空字符,即18+1 in...

2018-09-03 14:48:40 290

原创 auto 遍历二维数组

int TestArray(){ int iA[3][4] = { { 1, 2, 3 }, { 6, 5, 4 }, { 8, 9, 7 } }; int ia[3][4]; size_t cnt = 0; for (auto& row : ia) { for (auto& col : row) { ...

2018-09-03 14:13:01 2625 1

原创 C++11 shared_ptr与unique_ptr练习

// shared_ptr练习.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <memory>#include <iostream>void process(std::shared_ptr<int> sp){ int n = sp.use_count(); std::cou...

2018-08-31 16:10:51 359

转载 渐进符号(转)

1.渐近精确界记号:Θ(big-theta)  假设算法A的运行时间表达式T1(n)T1(n)为:T1(n)=30n4+20n3+40n2+46n+100T1(n)=30n4+20n3+40n2+46n+100   假设算法B的运行时间表达式T2(n)T2(n)为:T2(n)=1000n3+50n2+78n+10T2(n)=1000n3+50n2+78n+10 当问题规模足够大的时候,例如...

2018-08-30 10:26:17 2303

转载 归并排序

归并排序算法采用的是分治算法,即把两个(或两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2-路归并.一般来说,n个数据大致会分为logN层,每层执行merge的总复杂度为O(n), 所以总的复杂度为O(nlogn)。归并排序包含不相邻元素的比较,但并不会直接交换。在合并两个已排序的数组时,如果遇到...

2018-08-29 09:53:08 233

原创 修改VS项目名称

1.修改项目头文件xxx.h与CPP文件xxx.cpp名为yyy.h与yyy.cpp2.修改sln,vcxproj及vcxproj.*文件名xxx.* 为 yyy.*3.用notepad++等编辑器打开sln,vcxproj与vcxproj.* 文件,将所有xxx替换为yyy这样就可以了,注意替换后所有包含头文件的地方都要修改直接Ctrl+H替换即可...

2018-08-29 09:50:07 613

原创 Python学习2.2列表操作

L=[123,'spam',1.23]print(L)print(len(L))# 支持切片操作print(L[1])print(L[:-2])L += [4,5,6]print(L)# 末尾添加元素L.append('IN')print(L)# 弹出、移除L.pop(4)print(L)L.remove(4)print(L)# 排序、翻转M=['aa','bb...

2018-08-28 14:05:38 295

转载 Python 字符串常见操作

切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。格式: [start:end:step]• [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串• [start:] 从start 提取到结尾• [:end] 从开头提取到end - 1• [star...

2018-08-28 11:17:05 295

转载 C++:智能指针之shared_ptr

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sixdaycoder/article/details/457877131.智能指针C++中用new来动态分配内存,delete手动释放内存来达到动态管理内存的目的。因为保证在正确的时间释放内存是非常困难的,忘记释放内存就会产生内存泄露。为了更安全、便捷的使用动态内存,C++11标准库提供...

2018-08-24 10:53:42 365

转载 漫画:什么是动态规划?

来源:伯乐专栏作者/玻璃猫,微信公众号 - 梦见(dreamsee321) 主页君小提示:图文有点长,慢慢看————————————题目:有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1...

2018-08-21 11:06:56 402

转载 阿里面试必会20道C++面试题!

1、如何初始化一个指针数组。解析:首先明确一个概念,就是指向数组的指针,和存放指针的数组。 指向数组的指针:char (*array)[5];含义是一个指向存放5个字符的数组的指针。 存放指针的数组:char *array[5];含义是一个数组中存放了5个指向字符型数据的指针。 按照题意,我理解为初始化一个存放指针的数组,char *array[2]={“China”,”Beijing”};其含...

2018-08-20 16:52:59 2726

原创 live555 官方网站源码下载地址

http://www.live555.com/liveMedia/public/现在直接访问这个网址就可以了http://www.live555.com/liveMedia/

2018-08-20 15:15:13 9706 1

转载 结构体大小的计算

定义结构体中的偏移量结构体中的偏移量是一个成员的实际地址和结构体首地址之间的距离。结构体大小计算结构体大小 会涉及到字节对齐(目的是 让计算机快速读写 以空间换取时间)。即,最后一个成员的偏移量加上最后一个成员的大小再加上末尾的填充字节数。结构体内偏移规则1、每个成员的偏移量都必须是当前成员所占内存大小的整数倍如果不是编译器会在成员之间加上填充字节。 2、当所有...

2018-08-01 19:07:55 241

原创 基础知识复习(难度3星)

C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用---------------------------循环----分为当型和直到型。当型就是常用的while,直到型是do while----------------------------C语言中变量以补码形式存放在内存中,正数的补码与原码相同,负...

2018-08-01 17:00:43 255

转载 Linux下的stdcall 约定格式

Windows下的调用约定可以是stdcall/cdecl/fastcall,这些标识加在函数名前面,如:int __stdcall funca()但在Linux下,如按照上面写法后,编译程序将导致编译错误,Linux下正确的语法如下:int __attribute__((__stdcall__)) funca()int __attribute__((__cdecl__)) fun...

2018-07-30 15:47:01 6425 1

转载 Ubuntu16 gedit 中文乱码

官方:gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"系统返回: No such key 'auto-detected' 命令dconf-editor,查看已经没有auto-detect...

2018-07-30 14:05:59 905

转载 整理了一下linux/ubuntu里面卸载软件的方法

1、在终端里 apt-get安装的软件:安装软件sudo  apt-get install softname1 softname2softname3……卸载软件 sudo apt-get remove softname1 softname2 softname3……卸载并清除配置sudo  apt-get remove --purgesoftname1更新软件信息数据库 sudo apt-g...

2018-07-30 13:37:17 209

原创 一个较通用的makefile

###########################################################This is a common makefile templet#By WSL 2018-07-26##########################################################CROSS = CC = $(CROSS) gcc...

2018-07-24 14:22:57 334

原创 pugixml及Boost读写xml例子

// pugiTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <strstream>#include "pugixml.hpp"void write_xml(){ char*pBuf = NULL; unsigned int uiBufLen = sizeof(pBuf); std:...

2018-07-23 14:43:20 1365

原创 Linux的Ubuntu下安装jdk8(eclipse不支持jdk10)

0.下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上) 1. 登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需...

2018-07-17 11:51:45 593

转载 Linux下为Eclipse创建一个桌面启动图标

Linux下如何为刚安装好的Eclipse在桌面建一个启动图标?(QtCreator 也可以类似去做)。首先:gedit    /usr/share/applications/eclipse.desktop内容输入:[Desktop Entry]Encoding=UTF-8Name=EclipseComment=Eclipse IDEExec=/usr/local/Androi...

2018-07-17 11:34:30 357

转载 vs2013设置不生成.sdf和ipch文件

使用VS2013建立解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大。本文介绍两种方法使得在vs2013中不产生.sdf和ipch文件    方法一:Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为Tr...

2018-07-16 11:25:49 431

原创 关于linux下Asio脱离Boost的独立编译

其实这句话本身就有问题,因为我在Asio1.12.1解压后看到有makefile.in和makefile.am,就下意识的去生成makefile,然后make,却总是失败提示Makefile:366: recipe for target 'all-recursive' failed不明所以,网上又不太好找什么原因。最后,终于在Stackover的一篇帖子中找到了答案。。。链接如下,不过打开的太慢,...

2018-07-12 09:52:51 3557 1

原创 Linux下利用shell命令在VSCode中编译C++工程

首先是测试代码,包含main函数的helloworld.cpp#include<iostream>#include"print.h"using namespace std;int main(){ //printHello(); cout << "helloworld!" << endl; WslPrint wsl; wsl...

2018-07-11 17:21:52 971

转载 Linux下VSCode编译C++程序(单文件)

首先看了很多网上关于使用VSCODE的说明感觉都不是特别清楚。1.安装VSCODE的流程参考:linux如何安装vscode2.关于编译C++过程    1)安装c/c++编译插件    2)编写C++代码,helloword.cpp#include<iostream>#include<stdio.h>using namespace std; int main()...

2018-07-11 14:55:43 2190 1

转载 Linux C:生成、调用静态库/动态库,.a,.so

原贴地址https://blog.csdn.net/guowenyan001/article/details/50353214一、代码1.1 说明        hello.h、hello.c是生成库的代码。        main.c是调用库的代码。1.2 代码hello.h:#ifndef HELLO_H#define HELLO_H void hello(const char* name);...

2018-07-11 11:28:38 766

原创 makefile编写学习

参考原帖地址https://www.cnblogs.com/Zyf2016/p/6337827.html测试程序如下main.cpp#include "print.h"int main(){ printHello();    return 0;} print.h#include <iostream>#include <stdio.h>us...

2018-07-10 15:39:23 280

Onvif空白框架

openssl版本为openssl-1.0.2m.tar.gz 在vs2013环境下搭建的一个空白框架。 详情见https://blog.csdn.net/Lasuerte/article/details/82865662

2018-09-27

基于BoostAsio的异步通信Demo

很简单的异步通信例子,实现了Server端接收客户端信息。

2018-06-05

空空如也

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

TA关注的人

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