- 博客(9)
- 资源 (8)
- 收藏
- 关注
原创 类似c17的string_view,提供一个fast string 类,提供字符串的常用工具
#ifndef xfast_str_h__#define xfast_str_h__#include "base/g_def.h"BEG_NSP_DDMstruct xfast_str { xfast_str(const ddstra& str) : m_buff(str.c_str()), m_len(str.length()) { m_l_pos = 0; m_r_pos = m_len; } x..
2021-02-05 17:10:44
227
原创 VSCode多行显示tabs,将新打开Tab的放到最后
多行显示tabs,并减小tabs大小// app\out\vs\workbench\workbench.desktop.maincss 添加:.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab {height: 26px !important;}.monaco-workbench .part.editor>.content .editor
2020-08-11 20:35:13
4052
1
原创 静默截屏工具
#include <iostream>#include <memory>#include <queue>#include <sstream>#include <string>#include <time.h>#include <vector>#include <windows.h>// 无符号using u8 = unsigned char;using u16 = unsigned s..
2020-08-10 18:11:09
836
2
原创 git 使用小结
git config --global alias.ll "log --color --pretty=format:'%C(blue)%h%Creset %C(cyan)%cd%Creset %C(red)%ar%Creset %C(magenta)%an%Creset %C(green)%s%Creset'"
2020-06-18 16:40:40
312
原创 C++ 线程 任务队列
任务队列有点像windows的消息循环,有任务被压进队列就执行任务,否者就一直等待任务的到来。这样做的好处是外部程序不需要关心队列线程中的同步,只需要将任务压进队列即可,非常的方便。比如现在有一个下载任务要做,没有线程队列的情况下要自己创建线程,编写线程回调,在线程中下载并写文件落盘,必要的时候还要通知界面下载进度,下载完成后还要将线程销毁,有一系列的细节要处理。有了任务队列后只需要编写下载任务,...
2020-01-18 12:55:00
5314
1
原创 C++ 线程 死锁
使用线程时候,稍不注意就会发生死锁。A线程独占A资源,B线程独占B资源,这个时候A线程希望占用B资源,而B资源在没有释放所有权的时候又去尝试占用A资源,这个时候AB线程就永远处于相互等待状态,也就是死锁了。1、单个线程死锁单线程死锁情况比较简单,就是一个线程申请了锁,还没释放又去申请一次。代码如下:#include <thread>#include <mutex&...
2020-01-11 11:48:14
966
原创 C++ 线程 线程同步
当多个线程或者进程同时访问公共资源的时候就需要同步。比如说一个线程准备访问堆上的一块内存,另外的一个线程把他给释放了但是还没有来得及设置为空,那么就会出现问题,这个时候就应该线程同步,比如让第一个线程判空访问完了,第二个线程在释放置空;或者让第二个线程释放置空完了,第一个线程在进行判空访问。简单的说线程同步就是将原本在同一时间访问同一资源的线程,让他们有时间顺序的访问资源,即确保公共资源不被同...
2020-01-04 15:24:38
2389
原创 C++ 线程 第一次使用
经常会遇到以下场景:1、在界面程序中执行某个耗时操作: 界面的UI消息循环运行在某一个单独的线程中,一般是主线程,这个时候如果有一个耗时的操作,比如说是下载,如果也放到UI线程中去,那么界面线程就会阻塞在下载操作那儿,导致界面卡死,这个时候就要将下载操作放到线程中去。2、守护线程: 我们希望监视某件事情是否发生,比如监视某一个服务是否停止,如果停止就将它重新启动,...
2019-12-28 17:35:27
237
原创 C++ 简单模拟QT信号槽
先看使用:#include "stdafx.h"#include "ConnecterSlot.h"class A{public: A() { } ~A() { }private: // 定义一个信号 SIGNAL(TestSignal)public: void EmitSignal() { printf("A Signal Emit!!...
2018-07-27 15:45:04
1305
libcurl 编译好的文件
2018-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人