- 博客(487)
- 资源 (57)
- 收藏
- 关注
原创 [C/C++]_[初级]_[浅析std::remove函数的原理和用法]
1. 在开发程序的时候,经常需要移除在集合里符合条件的对象,`C++`有没有快捷的方法?2. 字符串里有空格,有没有库能快速删除的?
2024-08-04 19:37:46 177
原创 [并发并行]_[中级]_[C++实现synchronized方式的对象锁2.0]
1. 在前面的文章说过《C++实现synchronized方式的对象锁》可以实现`Java`的`synchronized`易用特性。这个第一版的例子并没有说明如何删除`pthread_mutex_t`对象,随着加锁的对象增加会出现内存泄漏的情况,怎么解决?
2024-01-05 23:35:19 505
原创 [Java]_[中级]_[使用okhttp3和HttpClient代理访问外部网络]
1. `Java`的`http`库常用的有`HttpClient`和`Okhttp3`, 如果公司有限制网络访问,需要代理才可以访问外网,那么如何使用代理`Proxy`?
2023-09-11 22:33:37 1117
原创 [学院]_[我的课程]
C++语言C++11语言特性和标准库C++14语言特性和标准库Java语言JDK7-Java7-JavaSE7新特性和增强功能JDK8-Java8-JavaSE8新特性和增强功能Windows开发使用WTL进行Windows桌面应用开发-1使用WTL进行Windows桌面应用开发-2...
2020-07-10 23:11:00 682
原创 [Windows]_[初级]_[GetVersionEx获取系统版本错误的原因]
1. 开发`WTL/ATL/Win32`程序时, 有时候需要获取系统版本号,以便判断用户在使用软件时的系统。在某一天突然发现获取的系统版本号是错的, 一直是版本号`6.2.x`,什么情况?
2024-08-05 21:10:51 401
原创 [WTL/Win32]_[中级]_[MVP架构在实际项目中的应用]
1. 在开发`Windows`和`macOS`的界面软件时,`Windows`用的是`WTL/Win32`技术,而`macOS`用的是`Cocoa`技术。而两种技术的本地语言一个主打是`C++`,另一个却是`Object-c`。界面软件的源码随着项目功能增多而增多,这就会给同步`Windows`和`macOS`的功能造成很大负担。 有大部分的调用底层逻辑,界面数据搜索等代码逻辑会重复写两遍,用`C++`和`Object-C`写。初步估计这部分代码至少占界面代码的`50%`。这无疑会影响产品发布速度,影响软件
2024-06-17 10:53:06 1184
原创 [Cocoa]_[初级]_[macOS的App在深色模式下文字图标显示不正常的解决办法]
1. 升级到`macOS 10.15`后,安装了`xcode 10.1`,运行项目时发现软件界面上的部分文字看不到了,特别是那些标准控件。文字怎么不见了,怎么回事?
2024-06-15 17:17:18 365
原创 [C/C++]_[初级]_[在Windows和macOS平台上导出动态库的一些思考]
1. 最近看了`《COM本质论》`里关于如何设计基于抽象基类作为二进制接口,把编译器和链接器的实现隐藏在这个二进制接口中,从而使用该`DLL`时不需要重新编译。在编译出`C`接口时,发现接口名直接是函数名,比如`BindNativePort`,怎么不是`_BindNativePort`?
2024-05-31 17:23:47 397
原创 [Win32]_[初级]_[获取Windows本机的所有IP地址]
1. 开发`Win32`本地程序时,有时候需要本地启动一个`Socket`服务,监听客户端的访问。而其他机器的客户端访问肯定是需要知道这个机器的`IP`地址才能连接,那么如何获取服务器本机的`IPv4`地址呢?
2024-05-01 13:08:07 414 1
原创 [Gdiplus]_[初级]_[使用Gdiplus实现JPEG和PNG互相转换]
1. 在开发`WTL/Win32`的时候,有时候在处理图片时需要让`JPEG`和`PNG`互相转换,比如截图需要另存为指定格式。那么如何不使用第三方库实现呢?
2024-03-26 21:45:03 114
原创 [WTL/Win32]_[初级]_[如何设置ListView的列宽不出现水平滚动条]
1. 开发`WTL/Win32`的程序时,经常会用到表格控件`CListViewCtrl`。这个控件需要设置列的宽度,当用完`100%`的宽度来平均分配给列宽时,一加载数据多,就会出现垂直滚动条后,水平滚动条也会同时出现的问题。怎么设置才能让水平滚动条不出现?
2024-03-26 17:58:58 659
原创 [C/C++11]_[中级]_[如何编写内存安全的C++代码]
1. `C/C++`不是内存安全,比如指针操作内存时最常见的就是缓存区溢出,数据越界,使用未初始化的内存等。那么借助现代的`C++`新版本新特性能避免吗?
2024-03-13 11:29:25 102
原创 [C/C++11]_[WTL/ATL]_[多线程如何无锁更新进度条界面上的描述字符串]
1. 开发界面程序`WTL/Win32`时,经常会使用进度条来实时显示百分比和描述文字。这些文字一般都用一个成员变量`wstring`来存储,而文字的更新可能比较频繁,比如下载复制文件时,显示正在复制的文件名。可能`500ms`就需要更新一次文字。 绘制是在主线程操作,那么更新和读取得常见做法是工作线程发送消息到需要更新的文本到主线程,之后主线程取出消息并更新文本。这么做的缺陷就是需要发送的消息太多了。有没有更好的办法?
2024-03-06 16:30:18 133
原创 [C/C++]_[初级]_[关于输出double浮点数精度的方法]
1. 在开发`WTL/Win32`程序时,绘制进度百分比,需要指定这个百分比包括小数点不超过`5`个字符,也就是除了小数点之外的数字个数最多只显示`4`个。已知可能出现的数值有`1.1`,`1.1145`,`22.14`... 用什么方式可以获取需要的字符串呢?
2024-03-06 14:32:00 244
原创 [VisualStudioCode]_[VSCODE]_[C/C++开发环境配置-问题解决和补充]
1. 在使用`VSCode`配置`C++`的开发环境时《VisualStudioCode_C/C++开发环境配置》,编译时会发现找不到标准库的`std::mutex`和`std::thread`的声明,而这两个的头文件已经引入,什么情况?
2024-01-07 17:54:24 1399
原创 [vs2017]_[初级]_[常用快捷键*持续更新]
1. `vs系列`不具备`IDEAJ`的`Ctrl+F2`显示当前类的所有方法,有什么替代方法?
2023-11-20 17:53:49 175
原创 [Windows]_[编译构建]_[使用CMake编译C++库注意事项]
1. 在开发本地程序时,`C++`库由于运行时库二进制不兼容的问题,不同版本`VS`编译出来的`C++`动态库是不能兼容的。遇到一个开源库,没有`configure`文件,没有`VS`的解决方案文件,怎么编译?
2023-11-11 11:56:08 207
原创 [Android]_[初级]_[配置gradle的环境变量设置安装位置]
1. 在开发`Android`项目的时候, `gradle`是官方指定的构建工具。不同项目通过`wrapper`指定不同版本的`gradle`。随着项目越来越多,使用的`gradle`版本也增多,导致它以来的各种库也增加,系统盘空间不足,怎么解决?
2023-11-11 11:17:59 1141
原创 [Android]_[初级]_[修改AndroidStudio虚拟设备镜像文件的存放位置]
1. 在使用`Android Studio`的虚拟设备运行`App`时,需要创建很大镜像文件。这些镜像文件一般都在系统盘,导致系统盘占用增大。怎么把这些镜像的存放路径设置在其他盘?
2023-11-06 22:53:55 881
原创 [批处理]_[初级]_[如何删除变量值里的双引号]
1. 在使用`Visual Studio`开发本地程序的时,需要在项目属性,`生成事件`->`生成后事件`里增加一些资源的打包,复制,删除等操作,那么就需要用到批处理来进行。而传递带空格的路径给外部的批处理文件时就需要双引号引用从而路径能作为一个整体。但是批处理传递参数的时候会把双引号当做值来传给`%1`参数,这就会造成在外部批处理文件里变量出现以下的重复双引号情况。怎么办?
2023-11-05 16:28:56 346
原创 [Java]_[初级]_[使用SAX流的方式写入XML文件]
1. 文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入`XML`文件,还是和读`XML`文件一样,不需要生成`DOM`模型能节省不少的内存和指令。
2023-09-03 18:55:07 451
原创 [Java]_[初级]_[以SAX流的方式高效读取XML大文件]
作为网站的站点地图,提供了固定的格式化数据, 也方便了搜索引擎进行索引。 因此对的读写功能是比较重要的。那么如何实现大数据量的读写才可以节省内存和减少指令的执行?说明和一样,对读用流的方式,可以减少中间的模型的生成,也不需要读取整个文件到内存。这样的不需要借助第三方库,标准库里就有。流式读取使用模型的方式,从开头按起始标签和结束标签的方式进行读取数据。并需要实现自己的来处理需要的元素。这个就是模板类,它的相关方法会在识别到特定的对象是调用,比如属性,起始结束元素,元素值等。例子以
2023-09-03 11:24:17 921
原创 [Java]_[初级]_[使用fastjson以流的方式读取json大文件]
1. 开发`JSON`应用时,有时候需要从`JSON`文件里读取配置数据到内存。当`JSON`文件足够大时,如果先把文件读入内存再进行`parse`会浪费不必要的大文件连续内存。甚至可能会导致`OOM`, 这时候如果能像`XML`文件那样可以以流的方式读取结构化`JSON`数据,那么会节省很多内存。那么怎么做?
2023-09-02 10:52:13 1976
原创 [Windows]_[初级]_[创建目录和文件的名字注意事项]
# 场景1. 在开发`Windows`程序时,会出现目录生成了,但是函数无法在目录里创建文件,怎么回事?
2023-06-08 14:50:52 717
原创 [ATL/WTL]_[初级]_[如何获取ListView点击的单元格区域]
# 场景1. 在做`Win32/WTL`开发时,`CListViewCtrl`控件是常用的表格控件。有时候自绘`listview`时,需要在单元格上绘制小图标,并且小图标能响应鼠标点击的操作。 那么如何实现判断是否点击了小图标呢?
2023-06-08 14:05:55 772
原创 [JavaWeb]_[中级]_[Tomcat在关闭时报指向Jfinal框架的错误]
1. 在部署`jfinal`程序到`tomcat`的时候,使用`startup.bat`启动网站,之后用`shutdown.bat`关闭网站,发现命令行窗口无法终止退出。报以下错误, 怎么处理?
2023-03-29 23:24:30 994 1
原创 [C/C++]_[初级]_[声明和使用字符串常量和字节常量]
我们需要存储常量的字节数组,并且数组里的字节数据可以是任意数值`0-255`。怎么存储?
2023-03-09 23:31:45 446
原创 [C/C++]_[初级]_[关于把字符串string作为字节数组存储的注意点]
在使用string标准字符串的时候,有时候会把它作为动态字节数组来使用。这个string能不能先存储字节数据,再设置它的字节数据大小?
2023-03-09 22:48:49 494
原创 [C++11]_[初级]_[十六进制字符串转换为字节数组]
1. 在开发使用加密算法`md5,sha256等`的功能时, 会生成基于十六进制的字符串密钥。 这时候在使用这些密钥进行解密或加密的时候,第三方库都需要传入一个字节数组`usigned char*`格式的数组,它每个字节的高4位和低4位都分别存储了1个字符值。那么用`C++`如何实现?
2023-03-06 17:14:50 1309
原创 [WTL/ATL]_[初级]_[TreeView控件如何显示ToolTip]
1. 在开发界面程序时,`CTreeViewCtrl`(它实际内部封装的就是`Win32`的`TreeView`控件)一般会用来作为选择某些类型的树形菜单,点击某项的时候,右边能显示某些对应的数据。当这个控件的宽度固定时,有时候每行的文本项可能由于过长从而穿透了整个控件的水平位置, 从而显示效果来看是不好的。这时候希望可以用省略号的样式来省略后边多出的文本,之后鼠标移动到这个文本项时能显示完整的文字,那么这个文本提示,或者说`tooltip`如何实现?
2023-02-13 15:59:33 445
原创 [Python]_[初级]_[内置函数map讲解]
1. 在`Python`里对集合进行流处理并生成新的集合可以使用`map`内置函数。它和`Java`的`Stream`的`map()`方法的作用是一样的,都是对集合内的每个元素修改。
2023-02-05 19:08:50 207
原创 [Python]_[初级]_[三元运算表达式]
1. 在阅读`Python`代码的时候,有时候会发现很奇怪的`if else`用法,发现它没有条件为真时的执行语句,怎么回事?
2023-02-05 18:25:22 183
原创 [Python]_[初级]_[字符串格式化的三种方法]
1. 在开发网络应用的时候,会用到`URL`的一些拼接替换处理。比如某个链接的部分需要替换为其他内容,其他部分保持不变,那么有没有快捷的字符串模板替换库呢?2. 在阅读第三方代码时,会看到`f"xxxx{1}"`这类的字符串,这是什么语法?
2023-02-05 15:57:46 428
原创 [C/C++]_[中级]_[获取月份的最后一天]
1. `C/C++`的新版日期类型并不能获取日期的具体数值。`C++20`的`std::chrono::month_day_last`可以获取某月的最后一天,但是返回的类型是`month_day_last`类型,这个类型无法获取天数,只能获取月份。 所以`C/C++`如何获取某年月份的最后一天?
2022-12-04 11:32:44 1063
原创 [JavaScript]_[初级]_[使用HTMLElement.dataset快速读写自定义属性]
1. 在开发前端页面时,一般会在某些元素上增加自定义的属性来存储额外的数据。比如图片元素``上增加`big`和`small`属性来存储大图片和小图片,当点击某个按钮时可以通过`JavaScript`来控制切换大小图片。那么这些自定义的属性如何读写?
2022-11-20 17:15:26 533
原创 [ATL/WTL]_[初级]_[解决自定义按钮禁用时没有绘制自定义样式-显示黑色矩形框的问题]
1. 在使用`WTL`的自定义按钮[1]时, 按钮在禁用后,接着弹出一个进度条。这时候按钮的禁用按钮并没有被绘制。显示的还是黑色矩形,怎么回事?
2022-11-05 15:49:01 383
原创 [C/C++]_[中级]_[static_cast的详细解析]
1. 在`C++`开发时,会看到四个强制类型转换操作符`const_cast`,`dynamic_cast`,`static_cast`和`reinterpret_cast`。其中`static_cast`的用在什么场景下?
2022-11-05 09:35:00 589
原创 [JavaWeb]_[中级]_[在jfinal里如何启用异步请求-异步模式]
1. `JavaWeb`的`Servlet 3.0`规范已经支持异步`ServletRequest`, 有这个异步请求,容器(`Tomcat`)线程池只需要少量的线程即可处理大量的并发请求,因为处理请求的线程可以把异步`AsyncContext`交给业务线程池处理之后立即返回。`Node.js`的异步`IO`应该也是用的这种技术,用单线程处理异步请求`IO`。那么在使用`Jfinal`框架时如何引入异步`ServletRequest`?
2022-10-04 17:25:08 765
原创 [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
1. 自从有了`C++11`的`auto`关键字之后,声明变量经常使用它。之后有一次发现编译控制台大量输出`有符号/无符号不匹配`的警告信息。怎么回事?
2022-09-23 17:07:19 1006
原创 [C/C++11]_[初级]_[获取CPU支持的最合适的核心线程数]
1. 当使用线程池时,一般需要获取最合适的最大线程数,因为在每个进程每个`CPU`核心最高性能是只处理一个线程。因此可见最合适的线程总数就是`CPU`核心数。那么如何获取`CPU`核心数?
2022-09-23 10:19:39 1024
test-gdi-gdiplus-mix.zip
2020-07-31
Windows窗口如何显示GIF动画
2020-05-05
DispatchAsync使用lambda表达式来简化发送数据到界面线程
2020-04-21
[libxml2]_[中级]_[使用xmlReaderForIO读取大文件]
2020-04-14
[Python]_[中级]_[禁用WIN7和WIN10自动更新脚本]
2020-04-05
[系统]_[WIN7和WIN10]_[禁用自动更新批处理脚本]
2020-04-04
[Gdiplus]_[中级]_[绘图实现单行文本的多种颜色]
2020-03-22
test-clipchildren.zip
2019-12-29
test-ccombobox.zip
2019-12-29
test-calc-link-size.zip
2019-12-29
test-modify-link-text-color.zip
2019-12-29
test-WTL10.zip
2019-10-12
Win32-WTL-MFC自定义表格.zip
2019-06-16
WTL-MFC-Win32无边框窗口.zip
2019-06-14
infoworld博客备份2.0.1版本
2018-12-03
win32实现dispatch_async博客文章配套项目
2017-10-27
pthread work queue manager
2017-07-19
使用zlib库压缩目录
2017-03-05
[Windows]_[中级]_[崩溃报告的高级解决方案源码]
2016-12-31
ZipHelper1.1
2016-04-06
如何设置ListView的列宽不出现水平滚动条博客内容的项目例子
2024-03-26
ATL/WTL-资源-[如何获取ListView点击的单元格区域]
2023-06-08
WTL-TreeView如何显示ToolTip
2023-02-13
Android如何对服务和Activity进行单元测试
2022-05-04
设置CEdit的文本框背景色和文字颜色
2022-04-15
对Jfinal框架的Controller进行单元测试
2022-04-14
Jfinal框架的Service层进行单元测试项目代码
2022-04-11
自定义TrackBar
2022-03-30
[WTL/ATL]_[初级]_[使用虚拟列表视图来解决新增大量数据卡顿问题]
2021-06-22
[ATL/WTL]_[初级]_[自定义多列TreeView]
2021-05-16
test-3-9-cedit.zip
2021-04-28
test-3-7-listview-userdata.zip
2021-02-25
test-3-6-createwindowex.zip
2021-02-24
test-3-5-export-window-class.zip
2021-02-24
test-template-class-export.zip
2021-01-21
[ATL/WTL]_[初级]_[在ListView指定的单元格显示ToolTip]
2020-11-26
[AsciiDoc]_[项目管理]_[写书写需求文档适合的纯文本工具]
2020-10-16
活动分组程序-VBS-第二版
2020-09-20
[WTL/ATL]_[C/C++]_[如何给动态创建的按钮绑定处理函数]
2020-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人