自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Windows 编译tensorflow1.3-gpu源码

一、环境准备:vs2015(cuda8.0最新只支持到vs2015,所以vs2017及以上编译不过)cuda8.0下载地址cudnn6.0下载地址swig-win下载地址cmaketensorflow-r1.3源码下载地址二、安装软件1.安装vs2015默认安装即可2.安装cuda8.0默认安装即可配置环境变量3.安装cudnn6.0解压cudnn6.0压缩包,把对应文件放到cuda的安装目录下cudnn64_6.d...

2020-11-16 14:52:43 217

原创 基于libevent的http接口封装(三)

这篇文章主要是讲解一下最核心的http请求和http ack部分的逻辑。在这里我封装了一个核心功能类HttpClientHelper,对外提供了几个方法:1.bool is_start() 用来判断改服务是否启动2.bool start() 启动服务3.void stop() 停止服务4.get()、post()、download()、upload() http操作方法HttpClien...

2019-12-03 21:09:53 666

原创 基于libevent的http接口封装(二)

一、定义请求事件和业务回调函数等数据结构1.1 http请求类型//http请求类型enum Enum_HttpType{ //get请求 HTTPTYPE_GET, //post请求 HTTPTYPE_POST, //download请求 HTTPTYPE_DOWNLOAD, //upload请求 HTTPTY...

2019-11-07 22:48:25 654

原创 基于libevent的http接口封装(一)

一、整体设计图如下:二、原理这是一个高性能的网络请求库,同时支持大量网络请求并发。设计的客户端是多线程架构,外部统一请求入口,通过负载均衡器选择一个libevent服务,然后把请求封装成一个事件放在线程池里,等待处理。等处理完成后,通过回调函数回调给调用的业务逻辑。三、接下来会从上次调用接口到底层实现逻辑逐步讲解实现逻辑。也可以用来后面供自己学习。...

2019-11-07 22:25:25 602

原创 ffmpeg:提取视频中的音频

接上篇视频转图片,大致流程都是一样的。这里仅列出不同的地方1.获取音频流 int audio_stream_index = -1; for (int i = 0; i < av_format_context->nb_streams; ++i) { if (av_format_context->streams[i]->codec->codec_...

2019-11-07 10:16:39 591

原创 ffmpeg:视频逐帧保存图片

一、通用操作打开视频文件、找到编码器,然后while循环读取每一帧,使用完后释放资源av_register_all(); AVFormatContext *av_format_context = avformat_alloc_context(); int open_input_result = avformat_open_input(&av_format_context...

2019-11-06 11:31:23 1628

原创 QString类arg方法扩展二

之前写了一篇关于扩展arg方法的文章,后来使用期间,发现有2个问题:1.第一个入参不能是数字2.入参个数过多时,会出现溢出问题多以针对这两个问题,重新优化了一下,这次算是完美了,哈哈哈#ifndef QSTRINGEX_HPP#define QSTRINGEX_HPP#include <QString>class QStringEx : public...

2019-10-15 20:56:45 229

原创 union的常见使用场景

概念:1.联合体union类似于结构体struct2.联合体用同一段内存单元存放不同数据类型的成员,在使用时,一次只能使用其中的一个成员3.它的所有成员相对于基地址的偏移量都为04.union的大小取决于它所有的成员中,占用空间最大的一个成员的大小,并且union的大小要能被其他成员的大小所整除应用:1.用来节省内存空间这个就很容易理解了,多个变量使用同一处内存。2...

2019-10-15 20:36:17 3311

原创 QString类arg方法扩展

在使用QString的arg方法时,是一件很方便的事情,例如:QString("%1,2%").arg("10").arg("20") //10,20但是如果是下面的场景,对于这样场景我们期望得到的结果是:%2,20。QString("%1,%2").arg("%2").arg("20") //20,20实际中肯定不会这么简单啦,因为arg()方法的参数在运行期间有可能是任何值,...

2019-06-12 15:26:01 1564

原创 OpenSSl编译总结

今天抽空把OpenSSl编译了一下,这里简单记录下一、下载activePerl并安装(默认即可)https://www.activestate.com/products/activeperl/二、下载openssl并解压https://github.com/openssl/openssl三、打开VS命令行窗口,切换到openssl根目录执行一下命令:1)设置环境pe...

2019-06-05 11:53:49 667

原创 基于libevent的多线程Server实现

最近在学习libevent,写了一些测试的例子,最开始是用共享内存实现的,后来改成了多线程。而且很多细节没有考虑。先存下档,后面再改(不改了)main.cpp#include "stdafx.h"#include<stdio.h> #include<string.h> #include<errno.h> #include<even...

2019-06-04 17:56:12 1748

原创 基于C++11实现的线程池

最近在整理之前写的一些东西,方便以后查看实现的主要原理是:一个同步队列,外部往同步队列里添加任务,然后唤醒线程有任务需要处理,线程取出任务即可。同步队列SyncQuene.hpp#include <functional>#include <mutex>#include <list>template<typename T>c...

2019-06-04 17:42:46 1084

原创 Windows进程通信--共享内存(三)

基于前面的文章,这次对共享内存简单的封装一下,使得共享内存的使用更为容易。为了代码的简单,这次封装的也都是同步的共享内存,如果需要支持异步的话,引入线程池(ShareMemory::writeData里面的功能放在线程里面来做)即可。也不是特别复杂。代码如下:ShareMemoryHelper.h#ifndef SHAREMEMORYHELER_H#define SHAREME...

2019-04-15 19:24:26 195 1

原创 Windows进程通信--共享内存(二)

一、问题:上篇文章留下了一些问题,这次主要解决以下两个问题:1.往共享内存写数据时,并不确认共享内存里面的数据是否已经被处理过了2.发送数据大小大于共享内存大小时,会存在数据丢失问题二、实现方式:1.增加一个读事件,如果共享内存里面的数据被消费调了,则发送该事件2.增加发送数据的长度,当读取到的总数据长度等于发送的长度时,调用数据处理函数三、代码Shar...

2019-04-15 16:03:09 303

原创 Windows进程通信--共享内存(一)

一、知识点主要使用了以下几个函数,具体入参等含义可以百度1.CreateFileMapping、OpenFileMapping、MapViewOfFile2.CreateEvent、SetEvent、ResetEvent、WaitForSingleObject二、功能逻辑很简单,就是:1.先根据名称打开共享内存,打开失败的话,就去创建。然后调用MapViewOfFil...

2019-04-15 09:18:05 353

filetool.zip

破解vc6.0的崩溃问题,。。。。详细的的使用方法可以在百度文库里找到,很详细的,这里提供破解的工具。

2014-08-06

空空如也

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

TA关注的人

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