client: // client.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // include <boost/beast/core.hpp> include <boost/beast/websocket.hpp> include <boost/asio/connect.hpp> include <boo...
隐式共享的QJsonArray对象,非const遍历会导致一次内存拷贝
隐式共享的QJsonArray对象,非const遍历会导致一次内存拷贝 直接看一个例子,先初始化一个大的arr,然后将其赋值给arr2和arr3,此时我们观察对象的d指针所指向的内存。 arr2和arr指向的内存是一致的,arr3和obj["arr"]...
visual studio修改堆栈保留大小和提交大小
如果程序中使用的堆栈超过1M(默认)你就需要进行这个设置,但是设置太大又会造成虚拟内存过高。如果你明确的知道哪一个线程使用的 堆栈多高,可以只针对那个线程进行设置,这样不会影响到整个程序。 Qt线程设置堆栈大小...
bat常用命令
当前所执行bat文件的路径 cd "%~dp0" 设置变量 set DIR=%~dp0 使用变量,注意路径中可能有空格要加双引号 %DIR% 强制杀死进程 taskkill /f /im "进程名" 删除文件 del "文件路径...
golang 下载大文件进度
使用io.Copy将下载的部分内容不断写入文件,重载io.Reader的Read函数,使用Read读取数据和大小,通过http的ContentLength获取total大小。 package goutil import ( "io" "net/http" "os" ) type ChunkRe...
boost命令行解析
对于一些工具程序使用命令行是非常普遍的,也是很方便的。但是原始的main函数只提供了一个简单的参数使用方法,要想提供一些 更丰富的命令交互还需要自己来解析。 boost有提供这个功能用起来还是蛮方便的,下面就是简...
Qt怎样将gif作为窗口背景
很多窗口会在背景展示一些动态的信息,此时用gif是比较合适的,Qt窗口使用gif作用背景步骤如下: 1. 定义一个movie对象 QScopedPointer<QMovie> movie_; 2. 设置movie movie_.reset(new QMovie(path)); ...
卸载程序——自删除
问题 卸载程序在卸载的时候怎么把自己给删掉 分析 我们知道在删除文件的时候,这个文件不能被打开,如果是程序那程序不能在运行中。 通常卸载之前我们要求用户先关闭运行中的程序,或者强制杀掉进程,否则删除文件...
Python 更新xml文件非常方便
以前没怎么用过Python,想实现一个简单的读写xml功能,网上查找了一下相关的库,有点眼花缭乱有的用起来也不方便。还好最终找到了,如果你也有这样的需求可以试一下下面的方法。 xml原文 <?xml version='1.0' encod...
golang 生成目录的check list文件并校验目录
目的是将当前可执行程序平级的某个目录生成check list文件,表明是文件还是目录,如果是文件生成md5值。还可以根据check list文件来判断目录里面的内容是否完整,如果是目录就判断目录是否存在,如果是文件就比对md5值是否...
多个Qt程序共享公共库
使用Qt框架编写的GUI应用程序必须要带上常用的几个Qt动态库和插件,如果有多个独立的Qt程序,他们不是放在同一个目录下,那么这些通用的Qt库必须每个程序都提供一份,这样会导致整个产品安装包较大。 目的 我们的目的...
boost类型转换异常捕获
使用boost做类型转换出错会抛出异常,这里针对这种情况做了简单封装,内部捕获异常,支持默认值、浮点数转换。 pragma once include <string> include <iomanip> include <boost/lexical_cast.hpp> include "log...