自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 protocol linux下编译

https://blog.csdn.net/Long_xu/article/details/127300606

2023-04-28 15:23:21 57

原创 mysql odbc

/************************************************************* @文件:DBHelper.h* @描述:实现Mysql数据库连接、增、删、改、查* @版权:* @许可证:* @创建信息:Created by YangJuan on 2020-12-03* @版本信息:* @版本变更信息:*************************************************************/#ifndef .

2020-12-04 10:04:31 200

转载 Qt Android环境搭建

一,JDK安装1,下载JAVA官方jdk的网站如下:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html如果直接从官网下载,需要注册。下载java jdk 64:java jdk 1.8x64;java jdk 32:java jdk 1.8x86。对应的位置如下图2,安装安装过程中,需要设置jdk及JRE的安装路径。设置java的安装路径设置JRE的路径,..

2020-10-22 15:17:36 1062

转载 Qt 串口通信(QSerialPort)

https://blog.csdn.net/weixin_42837024/article/details/81669540前言:本文讲述的 QSerialPort 是在qt5 + 版本以上才有qt 4.x + linux 环境 请看这篇正文与下位机,单片机通信少不了使用串口进行通信,Qt 也提供了串口通信的类QSerialPorthttps://doc.qt.io/qt-5.9/qserialport.html //小伙伴们具体去看文档1使用的时候在 pro 添.

2020-10-22 14:05:28 1619

转载 Qt开发技术:QWebSocket客户端、服务端介绍与开发

WebSocket客户端:QWebSocket简介 实现一个TCP套接字,该套接字与WebSocket协议进行通信。 WebSockets是一种通过单个TCP连接提供全双工通信通道的Web技术。WebSocket协议在2011年被IETF标准化为RFC 6455。QWebSocket既可用于客户端应用程序,也可用于服务器应用程序。 WebSockets的使用参照QTcpServer。 QWebSocket这个类是根据QAbstractSocket建模的。...

2020-10-22 13:51:36 1773

转载 QT滑动界面切换

文章目录一、鼠标事件 二、键盘事件 三、事件过滤一、鼠标事件鼠标事件包括鼠标的移动,鼠标键按下、松开、单击、双击和滚轮事件等。在实际使用中,只需重定义QWidget的三个鼠标事件方法,即mouseMoveEvent、mousePressEvent、mouseReleaseEvent、mouseDoubleClickEvent和wheelEvent(QWheelEvent *event)void MouseEvent::mousePressEvent(QMouseEvent *e).

2020-10-17 16:03:31 1757

原创 openssl编译步骤

perl configure VC-WIN32 --prefix=C:\workspace\icapp\opensource\libs\sslms\do_ms.bat"编译动态库..."nmake -f ms\ntdll.maknmake -f ms\ntdll.mak testnmake -f ms\ntdll.mak installnmake -f ms\ntdll.mak clean"编译静态库..."nmake -f ms\nt.maknmake -f ms\nt.mak t.

2020-06-23 16:46:42 418

原创 ndk编译boost库

1. 简介  最近,项目的需求——将原本运行在Linux的上C/C++移植到Android上运行。折腾了3天,终于可以编译出使用了boost库的可执行程序。这边主要是记录下,并分享出来,供需要的人员参考,希望对大家有所帮助。如果有什么问题可以在下面评论或发私信。2.android-ndk在Linux上的安装  博主的ndk版本是从底层的驱动人员那边获取的。这边使用的ndk版本是:android-ndk32-r10b-linux-x86。如果你使用的版本不一致也没什么关系,一般差异不会太大,只需要稍作.

2020-06-20 14:53:10 959

原创 cmake 编写步骤

# 最低cmake版本CMAKE_MINIMUM_REQUIRED(VERSION 2.6)# 工程名PROJECT(websocket)# 添加头文件目录INCLUDE_DIRECTORIES(include)# 源文件目录AUX_SOURCE_DIRECTORY(src DIR_SRCS)# 头文件目录set(INCLUDE_DIR ./include)# 设置头...

2019-11-04 10:32:18 836

转载 ubuntu下编译ffmpeg

Ubuntu下编译ffmpeg官网指导:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu下载源代码git clone https://git.ffmpeg.org/gitweb/ffmpeg.git切换分支查看远程分支,切换release版本最新的分支到本地,为了稳定,编译少bug,选择release版本的git branch...

2019-08-04 10:48:37 363

原创 Git分支创建命令

一、 创建test分支提交步骤1.列出所有分支# git branch -a2.创建test分支 # git branch test3.切换到test分支: # git checkout test4.添加add修改:# git add .5.添加commit注释# git commit -m "第一次提交代码"6.提...

2019-06-24 23:01:42 31826

原创 GitHub本地上传到远程仓库

一、使用git上传文件到GitHub需要git客户端以及注册GitHub账号。git官网:https://git-scm.com/github官网:https://github.com/第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。 你可以直接在桌面右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。 现在我通过命令...

2019-06-24 22:55:36 635

转载 IO多路复用之epoll总结

IO多路复用之epoll总结1、基本知识  epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。2、epoll接口  epoll操作过程需要三个接口...

2019-01-22 18:27:48 289

转载 IO多路复用之poll总结

IO多路复用之poll总结1、基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。...

2019-01-22 18:26:48 143

转载 IO多路复用之select总结

1、基本概念  IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:  (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。  (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。  (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。...

2019-01-22 18:23:09 129

原创 Linux常用命令操作

第一天内容:1>. 命令解析器2>. Linux快捷键3>. Linux 系统目录结构4>. 用户目录5>. 文件和目录操作6>. 文件和目录的属性7>. 文件权限, 用户, 用户组8>. 文件的查找和检索9>. 软件的安装和卸载10>. U盘的挂载和卸载1. 命令解析器:        shell -- un...

2019-01-21 23:24:59 253

原创 Linux系统目录

登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示:树状目录结构:以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 该目录下存...

2019-01-21 22:18:29 116

转载 值得推荐的C/C++框架和库 (真的很强大)

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/

2017-09-25 23:55:33 338

转载 struct timespec 和 struct timeval

转自:http://www.cnblogs.com/book-gary/p/3716790.html time()提供了秒级的精确度 .1、头文件  2、函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒数 用time()函数结合其他函数(如:localtime、gmtime、asctime

2017-06-12 15:04:15 686

转载 Ubuntu下Android源码的获取(Android4.4为例)

上篇博客记录了在Linux系统(Ubuntu)下搭建Android环境,接下来看下怎么获取Android源码,这里主要以Android4.4的源码为例。       先附上官网的地址:http://source.android.com/source/initializing.html.在上述地址里对Android的开发环境的搭建和源码的获取等有详细的介绍,按照其讲述过程完全可以搞定。下面我

2017-05-24 16:46:03 937

原创 dup和dup2函数详解

#include int dup(int files);int dup2(int files, int filedes2);函数返回值:若成功则返回新的文件秒速符,若出错则返回-1。相同点:dup和dup2两个函数都可以用来复制一个已经存在的文件描述符。不同点:dup返回的新文件描述符一定是当前可用文件描述符中最小数值,dup2则可以是用filedes2

2017-04-25 16:40:37 1304

原创 iopc源码

#include   #include   #include   #include     using namespace std;    #pragma comment(lib, "Ws2_32.lib")      // Socket编程需用的动态链接库  #pragma comment(lib, "Kernel32.lib")    // IOCP需要用到的动

2017-03-30 12:07:56 521

转载 使用curl获取web页面

一、前言看到公司项目中有个功能是要从web服务器上获取html页面,然后分析里面的文章抽取出可用的信息,然后看了下前人写的实现代码,除了通讯还有http协议的解析一大堆代码,看了比较烦,想到过去有看过curl这个东西,于是乎想用curl代替公司的这套东西。curl可支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及

2017-03-30 11:54:54 960

转载 轻量级序列化库boost serialization

一代码目录BOOST_HOMEarchive存档方式类目录BOOST_HOMEserialization 序列化数据类型目录二序列化类实现置入式实现非置入实现可以序列化类对象但被序列化的类必须实现序列化函数继承关系的序列化序列化数组序列化stl容器可根据版本号序列化读写分离对象序列化是项目中最经常看到的场景,因此实现该功能的库也有很多,如:thrift、

2017-03-30 11:48:27 444

转载 boost asio 异步实现tcp通讯

一、前言boost asio可算是一个简单易用,功能又强大可跨平台的C++通讯库,效率也表现的不错,Linux环境是epoll实现的,而windows环境是iocp实现的。而tcp通讯是项目当中经常用到通讯方式之一,实现的方法有各式各样,因此总结一套适用于自己项目的方法是很有必要,很可能下一个项目直接套上去就可以用了。二、实现思路1.通讯包数据结构Tag:检查数据包

2017-03-30 11:33:02 5000

转载 boost高并发网络框架+线程池

#include stdio.h>#include "AuthenHandle.h"#include "configure.h"#ifdef WIN32 //for windows nt/2000/xp#include winsock.h>#include windows.h>#include "gelsserver.h"#pragma comment(lib,

2017-03-16 18:21:22 953

转载 boost::asio 异步主动连接多个服务器

#include boost/asio/deadline_timer.hpp>#include boost/asio/io_service.hpp>#include boost/asio/ip/tcp.hpp>#include boost/asio/read_until.hpp>#include boost/asio/streambuf.hpp>#inclu

2017-03-16 18:11:37 1419

转载 Lua和C++交互详细总结

一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: lua的栈类似于以下的定义, 它是在创建lua_State的

2017-03-09 17:59:27 159

转载 win32 api 文件操作

CreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。在打开文件获得了文件句柄之后,则可以通过该函数读取数据。WriteFile向文件写入字节信息。同样可以将文件句柄传给该函数,从而实现对文件数据的写入。CloseHandle关闭文件

2017-03-09 15:05:45 2040

转载 win32 api 文件操作

win32 api 文件操作!   (2010-05-30 10:16:34)转载▼标签:  it分类: 经济博弈CreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。在打开文件

2017-03-09 15:04:09 502

转载 在Windows上安装FFmpeg程序

原文地址:http://helloway.blog.51cto.com/7666282/1642247FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。该程序只有命令行模式,因此安装到Windows下时,它与一般安装程序不同,具体安装步骤如下

2017-03-07 11:35:20 191

转载 HTTP协议详解(真的很经典)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HT

2017-03-01 16:38:58 268

转载 用C语言实现一个简单的HTTP Client(HTTP客户端)

用C语言实现一个简单的HTTP Client(HTTP客户端)  作者:gobitan(雨水) 日期:2007-04-03 转载请注明出处http://blog.csdn.net/gobitan HTTP协议是一个基于文本的协议,因此用C语言实现一个简易的HTTP客户端就不是什么难事。但如果对这个不熟悉,要想一下子实现一个HTTP GET方法取获取一个网页这么简单的功能恐怕也未

2017-03-01 16:16:01 12564

转载 华为面试题

第一题(60分):       按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”[cpp] view plain copy转载请标明出处,原文地址:http://

2017-02-28 16:24:46 235

原创 select、poll、epoll之间的区别总结

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用

2017-02-15 17:34:34 170

转载 链表各类操作

链表概述   链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,

2017-02-15 15:10:37 334

转载 stdin stderr stdout

stdin是标准输入文件,stdout是标准输出文件,stderr标准出错文件,应用在输出的重新定位上。程序按如下方式使用这些文件:标准输入是程序可以读取其输入的位置。缺省情况下,进程从键盘读取stdin。标准输出是程序写入其输出的位置。缺省情况下,进程将stdout写到终端屏幕上。标准错误是程序写入其错误消息的位置。缺省情况下,

2017-02-15 14:38:29 286

原创 详谈select函数

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2017-02-14 11:38:01 255

opencv3.2-sdk.zip

opencv3.2依赖库经vs2012和vs2015进行编译,目前支持vs2012x86、x64和vs2015x86、x64开发使用。

2019-08-05

p2pUDP.zip

打洞的实现过程与原理:私有ip的数据都要经过路由器的转发,路由器上有一张NAPT表(IP端口映射表),NAPT表记录的是【私有IP:端口】与【公有IP:端口】的映射关系(就是一一对应关系),本文讲到的路由均是以NAPT为工作模式,这并不影响对打洞。实际中的数据实际发送给的都是路由器的【公有IP:端口】,然后经过路由器进过查询路由表后再转发给【私有的IP:端口】的。该源码使用c++实现udp打洞,解压后分为客户端和服务器,可以提供测试和学习。

2019-06-02

Boost程序库完全开发指南

Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。 Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。 Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。在Boost库的开发中,Boost社区也在这个方向上取得了丰硕的成果。在送审的C++标准库TR1中,有十个Boost库成为标准库的候选方案。在更新的TR2中,有更多的Boost库被加入到其中。从某种意义上来讲,Boost库成为具有实践意义的准标准库。 大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。 很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。

2015-09-22

高质量C++编码

C++高质量编码,提高自己的编程能力,为成为合格的程序员打基础!

2014-11-07

空空如也

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

TA关注的人

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