C++
HFUTWXY
邮箱:david_mission@163.com
展开
-
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 · 226 阅读 · 0 评论 -
QString类arg方法扩展二
之前写了一篇关于扩展arg方法的文章,后来使用期间,发现有2个问题:1.第一个入参不能是数字2.入参个数过多时,会出现溢出问题多以针对这两个问题,重新优化了一下,这次算是完美了,哈哈哈#ifndef QSTRINGEX_HPP#define QSTRINGEX_HPP#include <QString>class QStringEx : public...原创 2019-10-15 20:56:45 · 243 阅读 · 0 评论 -
Windows进程通信--共享内存(三)
基于前面的文章,这次对共享内存简单的封装一下,使得共享内存的使用更为容易。为了代码的简单,这次封装的也都是同步的共享内存,如果需要支持异步的话,引入线程池(ShareMemory::writeData里面的功能放在线程里面来做)即可。也不是特别复杂。代码如下:ShareMemoryHelper.h#ifndef SHAREMEMORYHELER_H#define SHAREME...原创 2019-04-15 19:24:26 · 209 阅读 · 1 评论 -
Windows进程通信--共享内存(一)
一、知识点主要使用了以下几个函数,具体入参等含义可以百度1.CreateFileMapping、OpenFileMapping、MapViewOfFile2.CreateEvent、SetEvent、ResetEvent、WaitForSingleObject二、功能逻辑很简单,就是:1.先根据名称打开共享内存,打开失败的话,就去创建。然后调用MapViewOfFil...原创 2019-04-15 09:18:05 · 365 阅读 · 0 评论 -
Windows进程通信--共享内存(二)
一、问题:上篇文章留下了一些问题,这次主要解决以下两个问题:1.往共享内存写数据时,并不确认共享内存里面的数据是否已经被处理过了2.发送数据大小大于共享内存大小时,会存在数据丢失问题二、实现方式:1.增加一个读事件,如果共享内存里面的数据被消费调了,则发送该事件2.增加发送数据的长度,当读取到的总数据长度等于发送的长度时,调用数据处理函数三、代码Shar...原创 2019-04-15 16:03:09 · 320 阅读 · 0 评论 -
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 · 677 阅读 · 0 评论 -
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 · 1580 阅读 · 0 评论 -
基于C++11实现的线程池
最近在整理之前写的一些东西,方便以后查看实现的主要原理是:一个同步队列,外部往同步队列里添加任务,然后唤醒线程有任务需要处理,线程取出任务即可。同步队列SyncQuene.hpp#include <functional>#include <mutex>#include <list>template<typename T>c...原创 2019-06-04 17:42:46 · 1103 阅读 · 0 评论