自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (23)
  • 收藏
  • 关注

原创 windows消息机制详解

2023-11-22 15:56:53 214

原创 emscripten的安装

工程化的项目使用的是emmake命令。后面就是emcc命令的用法了。

2023-06-28 16:21:16 1203

原创 windows下安装emsdk

这里的emsdk 命令 其实就是一个emsdk.bat的批处理文件。就会在控制台看到输出的“Hello, world!git pull 更新到最新代码。成功后在浏览器中输入。

2023-05-17 21:54:15 1928

原创 C++一个简单的线程池的视线

【代码】C++一个简单的线程池的视线。

2023-05-11 20:39:51 242

原创 C++读写文本文件和二进制文件

【代码】C++读写文本文件和二进制文件。

2023-05-11 13:46:08 155

原创 C++ libcurl获取网络文件大小

3.从下载文件url中分割出文件名称。6.获取appdata目录。2.获取本地文件大小。4.判断文件是否存在。

2023-05-10 21:59:49 787

原创 C++基本的编码转换以及string类型互转

【代码】C++基本的编码转换以及string类型互转。

2023-05-10 21:50:41 400

原创 C++线程池的简单实现

【代码】C++线程池的简单实现。

2023-05-10 21:46:10 95

原创 C++11之多线程队列的基本实现

本实现是根据C++11 中的 queue 结合 mutex实现。

2023-05-10 21:43:31 472

原创 VS2019拷贝网络上的源码因为编码问题编译出错的解决办法

1.首先 , 我们很多时候会在网上搜索相应的代码解决方案,但是有的代码拷贝下来是utf8的编码。放到vs中就会出现有些字符显示不出来的问题,因为显示不出来 所以删除不了,因此编译出错。拷贝下来的代码不要直接放进vs里面去编辑,而是通过notepad++去打开,如下图。这些都是需要删除的,否则编译会爆出各种莫名其妙的错误。删除干净了,只要代码写的没问题编译基本上能过。老实说哪里缺少分好;这里有一个解决方案。

2023-05-10 21:38:33 456

原创 python 网络接口测试(post)

如果说requests报错,不存在,那么就得pip安装一下。当然先得安装了python , (python3)## 你可以看看 content-type 字段。# 注意这里必须以json字符串构造数据。# 与 get 请求一样,r 为响应对象。

2023-05-04 17:52:03 551

原创 C++的递归与尾递归以及循环

你会发现 循环和尾递归的 时间复杂度比较低,普通递归的时间复杂度很高。

2023-03-29 21:27:40 238

原创 Cmake转换vs2017和vs2019的区别

D后面跟的是CMakeLists.txt 中的 option 选项。build_win32 表示 生成的vs2017工程放在这个目录。还有其他架构下:(ARM)

2023-03-29 20:56:11 524

原创 cmake之命令行转换vs工程

DTEST_ENABLE=1 便是TEST_ENABLE开关打开,在CMakeLists中用option制定的选项。上面的命令表示 转换成 vs2019 目标工程文件放在 根目录下的 build_x64 目录。更多用法 可以 cmake /help 自己去探索。在根目录下进入cmd 命令行 执行如下命令。

2023-03-24 09:19:06 728

原创 cmake常用脚本语句命令

aux_source_directory(./include DIR_HEADS) #aux_source_directory 命令只是用来查找源文件,对头文件无效。#aux_source_directory(./include DIR_HEADS) #aux_source_directory 命令只是用来查找源文件,对头文件无效。# 这个对应VS工程属性中C/C++西面的附加包含目录 注意不是VC++中的包含目录。# 这个对应VS工程属性中C/C++西面的附加包含目录 注意不是VC++中的包含目录。

2023-03-24 09:16:16 394

转载 [C++]如何判断exe和dll文件是debug还是release编译生成的

debug模式的dll和exe,VCRUNTIME.DLL文件名后面多一个字母D;release模式下则没有D。的dll和exe,图标右边都有一个“64”字样的小图标;x86架构的图标右边是空白。

2023-03-22 22:03:03 1694

原创 zlib和curl的windows vs工程编译方法

点击左下角的configure可以配置 目标工程师vs2019还是其他的vs工程(比如vs2019,vs2017等等)一个是curl源码的根目录(里面有CMakeLists.txt文件),一个是存放转换后vs2019工程的目录。根目录下面会有一个CMakeLists.txt文件, 这个是cmake的配置文件,跨平台的构建配置文件。配置后 右下角有进度条,进度条走完后,点击左下角的generate即可转换成vs2019工程。我们使用cmake的gui版本,转换成vs2019工程。

2023-03-22 20:00:17 497

原创 HelloWorld CMake CMake中构建静态库与动态库及其使用

这里简单说明一下,FIND_PATH用来在指定路径中搜索文件名,比如:FIND_PATH (myHeader NAMES hello.h PATHS /usr/local/include /usr/local/include/hello)同样,因为这些变量直接为FIND_指令所使用,所以所有使用FIND_指令的cmake模块都会受益。cmake程序的过程",既然是"cmake语言",自然涉及到变量、语法等. 下一节,我们将抛开程序的话题,看看常用的CMAKE变量以及一些基本的控制语法规则。

2023-03-22 19:42:43 378

转载 WIN32 预定义宏WIN32,_WIN32,_WIN64介绍使用

WIN32 预定义宏WIN32,_WIN32,_WIN64介绍使用

2023-03-22 19:37:06 449

转载 如何查看dll以及lib文件是32位还是64位

在【键入或选择新平台(P):】处,点击下拉框,并选择 【x64】选项。选择完成后,点击【确定】按钮即可。项目名称上点击右键--> 属性 --> 界面右上角【配置管理器】在【活动解决方案平台(p):】处,点击下拉框,并点击【新建】选项。dumpbin.exe /headers 文件路径。此时,项目中就可以选择32位编译,还是64位编译了。默认新建的功能只有32位编译,还需要添加64位。可借助vs自带工具dumpbin.exe。直接输入:dumpbin.exe。可查看该命令的详情。

2023-03-21 20:13:38 1399

转载 VS 编译出错之文件编码

这是文件编码格式导致的,此时,可以用 EditPlus 批量更改文件编码为 UTF-8 ( 带 BOOM)。虽然 UTF-8 文件可以通过解析,猜测得到编码方式,但是 VS 在这点上不智能,它必须依赖于 BOOM 才能识别出文件为 UTF-8。若在其它环境下新建的源码文件,格式为 UTF-8,会发现编译出错,而且错误信息非常诡异,指向不明显。版权声明:本文为优快云博主「lizhihaoweiwei」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

2023-03-21 15:34:15 233

原创 windows下编译zlib库

任何giyhub上面的工程,只要标准化了CMakelists.txt 都可以这样操作转换。download zip 下载完解压后 ,工程目录里面有CMakelists.txt.利用cmake-gui版本直接将工程转换为对应的vs版本即可。安装完成后,打开cmake-gui界面配置程序。然后打开vs工程编译即可。

2023-03-21 14:53:22 228

原创 windows下编译libcurl

第一步下载源代码,源代码有很多地方可以下载,此处从github下载下载地址:download zip解压zip文件 ,进入winbuild目录开始菜单--进入vs2019(或者其他版本)command prompt,如下在此命令行下面,进入到curl源代码的winbuild目录,执行命令参数说明如下:都可以在winbuild目录下的README.md文件中看到## Build in the console Once you are in the console, go to the winbuild dir

2023-03-21 14:46:53 1367

原创 Cmake的简介和用法

cmake是一种构建工具,一种很方便的跨平台的工具。需要处理CMakeLists.txt 的文本文件,里面编写一些cmaje的脚本命令。可以通过这个工具 , 将CMakelists所在的工程转换成各种vs工程,比如说vs2013,vs2019等等。vs2019中有微软自带的Cmake,可以直接打开CMakelists.txt 文件 进行项目的阅读和编辑。安装cmake,cmkae是一种开源工具。开始进行块注释,并且在块注释的一端与。的时候支持多行注释,以。

2023-03-20 19:39:55 218

转载 【测试】什么是代码覆盖率

常见的编程语言,如Java,C++,Python,JavaScript,PHP和Go等,都有相应的代码覆盖率统计工具。代码覆盖:为了更加全面的覆盖,我们可能还需要理解被测程序的逻辑,需要考虑到每个函数的输入与输出,逻辑分支代码的执行情况,这个时候我们的测试执行情况就以代码覆盖率来衡量,可以理解为白盒覆盖。需求覆盖:指的是测试人员对需求的了解程度,根据需求的可测试性来拆分成各个子需求点,来编写相应的测试用例,最终建立一个需求和用例的映射关系,以用例的测试结果来验证需求的实现,可以理解为黑盒覆盖。

2023-03-01 18:01:06 263

转载 如何保证代码质量

关于架构设计的部分,正在阅读《重构》和《Head First 设计模式》,在这里我总结下最近看到的一些改进代码质量的方法和工具,包括:代码规范、CodeReview、重构、单元测试以及代码覆盖率、findbugs工具。其实,代码覆盖率并不是目标,它只是一种手段,帮助我们寻找项目中存在复杂业务逻辑的地方,而这里,就是可以改进的地方。本质上说,重构是在代码写好之后改进它的设计。代码能用和优秀的代码还有一定距离,findbugs帮助我们提升代码质量,会发现一些具备不良用法的代码、暗藏性能问题的代码等等。

2023-03-01 17:48:20 649

原创 一些好用的工具

C++开发工具clionvscodenotepad++截图工具snipaste录屏工具搜索工具everything代理工具fiddler接口测试工具postman。

2023-03-01 17:45:27 77

原创 一些好用的github仓库

正交算法库线程池。

2023-03-01 17:26:00 70

转载 C++ 单元测试框架 Google Test (gtest)

https://blog.youkuaiyun.com/A_L_A_N/article/details/106952145

2023-03-01 10:47:44 105

原创 程序员必看的基本书籍

windows高级编程。

2023-02-28 16:17:34 91

原创 设计模式六大原则(六)----开闭原则

而通过面向对象的继承和多态机制,可以实现对抽象体的继承,通过覆写其方法来改变固有行为,实现新的扩展方法,所以对于扩展就是开放的。我们在设计系统的时候, 不可能设想一次性把需求确定后, 后面就不改变了.这不科学也不现实的. 既然需求是一定会变化的, 那么我们要如何优雅的面对这种变化呢?这里投射出的意思是:需求总是变化的, 可是对于软件设计者来说, 如何才能做到不对原有系统修改的前提下, 实现灵活的扩展. 这就是开闭原则要实现的.对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

2023-02-28 15:37:02 371

原创 设计模式之单例模式

在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。这种方式本身就线程安全,没有多线程的线程安全问题。系统运行中,实例并不存在,只有当需要使用该实例时,才会去创建并使用实例。拷贝构造函数和赋值构造函数是私有类型,目的是禁止外部拷贝和赋值,确保实例的唯一性。单例模式是指在整个系统生命周期内,保证一个类只能产生一个实例,确保该类的唯一性。单例模式可以分为 懒汉式 和 饿汉式 ,两者之间的区别在于创建实例的时间不同。

2023-02-28 15:32:53 214

原创 设计模式之工厂模式

简单来说就是用户要订纽约工厂的披萨,他必须去纽约工厂,想订伦敦工厂的披萨,必须去伦敦工厂。工厂方法的适用场合:现在不光有伦敦工厂,还增设了纽约工厂(仍然是同一等级结构,但是支持了产品的拓展),这两个工厂依然只生产三种类型的pizza:chesse,pepper,greak(固定产品)。抽象工厂的适用场合:不光增设了纽约工厂(仍然是同一等级结构,但是支持了产品的拓展),这两个工厂还增加了一种新的类型的pizza:chinese pizza(增加产品族)。抽象工厂 :用来生产不同产品族的全部产品。

2023-02-28 14:38:41 551

原创 23 种设计模式详解(全23种)

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

2023-02-28 14:29:35 105

原创 常用工具简介入门

sonar:three.js23种设计模式。

2023-02-28 14:16:40 79

原创 qt操作文件以及字符串转换

/QTextStream方法读取速度至少快百分之30。//从文件加载英文属性与中文属性对照表。Qt|将QString字符串写入文件中。String和QString之间的转化。

2023-02-28 10:43:37 802

原创 mac系统常用操作指南

32.编辑配置文件 vi ~/.bash_profile,终端打开文件,按下i键就是编辑,上下左右键切换光标,如果想要退出,如果在编辑模式先按下esc,然后按下Shift + 冒号,否则直接。18.有的时候我们知道一个文件路径,如何快速打开文件夹呢,可以在访达中点击顶部的前往菜单按钮,选择前往文件夹选项,输入路径即可。12.appstore安装应用,获取之后,点击安装,如果是付费的就需要appid输入账号密码,安装成功后就会出现在启动项里面。

2023-02-28 09:45:19 1832

原创 macOs环境变量

做代码开发,各种工具都需要设置系统环境变量,在macos系统里面,设置环境变量与windows的配置过程有很大差别,又因为系统升级原因,导致了一些遗留问题,对于初学用户,不是很容易理解这些内容。~/.bash_profile,~/.bash_login,~/.profile依次加载,如果~/.bash_profile不存在,依次加载后面几个文件;~/.zshrc:设置:source ~/.bash_profile,保证启动shell的时候~/.bash_profile环境变量生效。四、平时会遇到的问题。

2023-02-28 09:45:17 1992

原创 kiwi编码格式简介

Kiwi是一种基于模式的二进制格式,用于有效地编码数据树。它的灵感来自Google的格式,但更简单,编码更紧凑,并且对可选字段的支持更好。前向兼容性:如果新模式的副本与数据捆绑在一起,则旧版本的模式可以选择读取新数据(新模式可让解码器跳过未知字段)。可选字段的存在是可检测到的:对于协议缓冲区,这是不可能的,尤其是对于重复字段。常用值的有效编码:可变长度编码用于数字值,其中较小的值占用较少的空间。复合对象的有效编码: struct功能支持嵌套对象,且编码开销为零。向后兼容性:新版本的架构仍可以读取旧数据。

2023-02-28 08:54:58 291

转载 jsoncpp中json字符串的格式化及非格式化转换

版权声明:本文为优快云博主「Pisces_224」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。之前搞jsoncpp解析时,在将一个json数组整体赋值给一个string变量时,当时调用的是。另,想要string串中的单个字符替换为另一种字符的,传送门在这:点这里。分类专栏: C++ 文章标签: json串格式化/非格式化 c++//方法一:转为格式化字符串,里面加了很多空格及换行符。//方法二:转为未格式化字符串,无多余空格及换行符。//root中写入数据。

2023-02-27 17:15:26 1313

C++异常处理之大全,包括SEH,CRT函数,打印堆栈等相关知识

C++异常处理之大全,包括SEH,CRT函数,打印堆栈等相关知识

2022-06-07

ChangeConfig 用于读写INI文件,方便操作配置选项

ChangeConfig 用于读写INI文件,方便操作配置选项 可以方便的加载ini文件配置,然后进行读取修改和保存 可用于一般性的工程配置保存 里面集成了文件操作功能,重载[]操作符,兼容主流的数据类型 继承了字符串转换功能,模块加载机制 BaseTyoe以及CommonType CString的头文件声明 stdafx以及相应的宏定义

2022-06-06

C++ 对文件进行md5的方法

C++ 对文件进行md5的方法 可以方便集成到自己的工程中

2022-04-22

C++ MD5 摘要方法工程

C++ MD5 摘要工程 可以继承md5摘要方法到自己的C++ 工程里面

2022-04-22

在桌面上画图写字画圆画线

在桌面上画图写字画圆画线

2022-04-12

简单的日志文件收集功能

简单的日志文件收集功能 一般用于项目上崩溃时收集日志 然后由上传模块上传到服务器 便于生产环境的问题定位

2022-04-12

AES加解密工程(便于集成)

AES加解密工程 包含AES加密解密的例子 便于工程中集成

2022-04-12

nsis多语言的安装包制作脚本

nsis多语言的安装包制作脚本 unicode下多语言

2022-04-12

select简单模型源码

select模型

2022-03-29

Fiddler之web调试工具

Fiddler之web调试工具 调试,查看http包,打断点等等,Android或者ios的调试代理

2022-03-23

批量重命名工具FreeRename5.3

批量重命名工具FreeRename5.3 特别是对切图图片做动画命名的处理

2022-03-23

模块走查工具,dll,exe

模块走查工具,dll,exe depends,查看模块的正确性

2022-03-23

哈希MD5,SHA-1工具

哈希MD5,SHA-1工具 生成文件的哈希码,包括MD5,SHA1,CRC32

2022-03-23

windows事件查看器

windows事件查看器

2022-03-23

NSIS语法详解以及MUI用法

NSIS脚本语言的用法详解 以及MUI的使用

2022-03-23

windows C++ 桌面客户端面试资料

windows C++ 桌面客户端面试资料 包括C++特性 windows内核 项目经验以及未来规划 算法题目

2022-03-22

http文件下载模拟器,模拟文件下载的http服务器

http文件下载模拟器,模拟文件下载的http服务器 可用于日常测试,单间简单的http文件服务

2022-03-22

adb工具可用于PC与安卓手机交换文件

可用于PC与安卓手机交换文件 adb devices adb push xxx.mp3 /sdcard/Music/xxx.mp3 adb pull /sdcard/Music/xxx.mp3 xxx.mp3

2022-03-22

C++ windows 检测网络是否断开

检测当前的网络是否断开

2022-03-22

C++11 function 委托机制 观察者模式,适用于界面开发,lambda表达式

使用C++11 编写的一个委托模板类,适用于界面开发的观察者模式,OnInitDialog中add,OnDestroy中remove

2022-03-22

C++生成dump文件

C++ windows工程中 简单生成 dump文件,以便问题定位

2022-03-22

C++AES加解密(Base64)

AES加解密的简单实现,包含Base64

2022-03-22

C++智能指针实现(包含拷贝构造,赋值函数,引用解引用重载)

C++智能指针实现(包含拷贝构造,赋值函数,引用解引用重载) 帮助初学者掌握智能指针的实现原理,采用引用计数方式实现

2022-03-22

空空如也

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

TA关注的人

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