- 博客(169)
- 资源 (12)
- 收藏
- 关注
原创 ubuntu双系统
摘要:本文介绍了在Ubuntu系统安装过程中涉及的关键工具和分区设置。使用Universal-USB-Installer创建可启动USB安装盘,并通过EasyBCD 2.3配置双系统启动菜单。重点说明了Ubuntu系统分区方案,建议单独设置/boot分区(约200MB)和/swap交换分区(内存大小的1-2倍),以确保系统正常运行和性能优化。这些步骤为顺利安装Ubuntu系统提供了必要准备。
2025-12-18 07:45:00
95
原创 网络编程学习
本文汇集了网络编程相关学习资源,包括CSDN专栏和经典书籍。专栏内容涵盖网络通信编程、Windows网络模型及网络协议解析等实用技术。推荐书籍《TCP/IP网络编程》和《Windows网络编程》系统讲解网络编程核心知识,适合开发者深入学习。这些资源为网络编程学习提供了全面的技术参考和实践指导。
2025-12-18 06:45:00
195
原创 wolfSSL
摘要: wolfSSL是一个轻量级的SSL/TLS开源库,适用于嵌入式系统、物联网设备等资源受限环境。其GitHub仓库提供源代码下载(链接),官网(链接)包含文档与商业支持,第三方平台Updatestar(链接)也提供安装包下载。wolfSSL支持多种加密算法和协议标准,具有高性能和低内存占用的特点。
2025-12-17 07:00:00
94
原创 Visual C++ 技术内幕-读书笔记
本文介绍了Windows编程中的几个关键功能:颜色调色板(CPalette)的使用、通过CDC::SetViewportOrg改变坐标原点、TRACE和afxDump诊断工具、CArchive序列化类操作。同时阐述了文件拖放功能的实现方法,包括DragAcceptFiles设置、DragQueryFile获取文件名及DragFinish释放内存。最后提及了OnQueryEndSession系统消息处理及OLE技术。这些功能涵盖了图形处理、调试诊断、数据持久化、用户交互等核心编程领域。
2025-12-17 06:15:00
192
原创 Linux从入门到精通
本文概述了Linux系统的主要组件与常用操作,涵盖桌面环境(Gnome、KDE)、系统管理(用户权限、软件包管理)、文件操作(查找、压缩、挂载)、网络配置(SSH、Samba、FTP)、多媒体应用(MPlayer、xine)、开发工具(gcc、gdb)、服务器配置(Apache、MySQL)及安全防护(防火墙、病毒扫描)。重点介绍了命令行工具如grep、find、apt-get等,以及系统维护任务如磁盘管理、进程监控和定时任务。还涉及Linux与Windows的协作方案,包括远程访问和文件共享。完整呈现了L
2025-12-16 08:45:00
359
原创 WPF读写config配置文件
本文介绍了在.NET中使用System.Configuration进行配置文件(app.config)的读写操作。配置参数需添加在<appSettings>标签中,通过ConfigurationManager.AppSettings读取值。修改配置需先获取Configuration对象,修改后调用Save()保存,并使用RefreshSection()使更改立即生效。该方法适用于WPF等.NET应用程序的配置管理。
2025-12-16 07:00:00
228
原创 agsXMPP使用
agsXMPP库提供了XMPP协议的基础功能实现,包括注册、登录、好友管理和消息收发。本文重点介绍了如何使用agsXMPP修改用户密码,通过创建IQ对象并设置Register查询参数来实现密码修改,生成的XML格式为标准的XMPP注册查询请求。文中还提供了一个完整的IM程序示例下载链接,包含上述功能的实现代码。
2025-12-15 09:38:23
771
原创 Boost C++11多线程
Boost.Thread库提供了多线程编程支持,主要包括线程创建、管理和中断机制。线程创建后立即执行,可通过join()等待结束或detach()分离执行。支持4种创建方式:普通函数、函数对象、类成员函数和bind绑定参数。线程中断通过interrupt()实现,会抛出thread_interrupted异常,可使用disable_interruption临时禁用中断。此外,还提供了线程休眠(yield/sleep)、获取CPU核心数(hardware_concurrency)等功能。该库支持线程状态管理(
2025-12-15 09:37:50
1229
原创 Boost与设计模式
本文系统阐述了面向对象设计中的三类经典模式:创建型、结构型与行为型模式。创建型模式(如抽象工厂、生成器、工厂方法等)通过封装对象创建过程提升系统灵活性;结构型模式(如适配器、桥接、组合等)关注对象间的组合方式,实现接口转换与功能扩展;行为型模式(如职责链、命令、解释器等)处理运行时对象交互,优化责任分配机制。文章结合Boost库的具体实现(如智能指针代理、正则表达式组合等),展示了设计模式在C++中的实际应用价值,强调其通过对象组合与接口抽象来增强代码复用性和可维护性的核心思想。
2025-12-15 09:36:54
726
原创 Boost之program_options
Boost库中的program_options模块提供了一种便捷的方式来处理命令行参数和配置文件选项。该模块主要通过三个核心组件实现:options_description用于定义程序支持的选项,parse_command_line用于解析命令行参数,variables_map则用于存储解析后的选项值。典型使用流程包括:定义选项、解析参数、存储选项值,并通过count()检查选项是否存在,operator[]获取选项值。示例代码展示了如何定义help和compression选项,并处理用户输入。该模块还支持
2025-12-15 09:36:11
393
原创 bypy安装
Bypy是一个百度网盘Python命令行工具,通过pip install bypy安装后可直接上传文件。首次使用需授权,打开命令行提示的网站获取授权码。常见问题包括:百度云权限限制需每月更新授权,否则会报错;若误删缓存文件需重新授权。更新授权方法为运行bypy.py -c删除令牌文件并重新授权,或在百度应用授权中删除bypy后重新授权。该工具适合命令行操作百度网盘文件。
2025-12-15 09:35:02
130
原创 C++中判断某一文件或目录是否存在
本文介绍了在C++中检测文件和目录是否存在的多种方法。对于文件检测,可使用ifstream、fstream检查文件流是否创建成功,或使用_taccess函数检查文件权限,以及FindFirstFile API函数。对于目录检测,可通过FindFirstFile结合目录属性判断,或使用_stat/_tstat函数配合_S_IFDIR标志位,也可利用boost库的filesystem::exists函数。文章提供了各方法的代码示例和实现原理,涵盖了Windows和Linux平台的解决方案。
2025-12-15 09:34:00
360
原创 C++单元测试
本文介绍了C++单元测试框架CppUTest和CppUnit的基本使用方法。主要内容包括:1) 如何创建测试组(TEST_GROUP)和测试用例(TEST);2) 常用的测试宏如CHECK、STRCMP_EQUAL等断言方法;3) 测试的setup和teardown机制;4) 如何编写测试主函数。文章提供了测试代码示例,并详细说明了各种断言宏的功能和使用场景,特别提醒了CHECK_EQUAL可能存在的多重求值问题。此外还列出了CppUTest和CppUnit的相关文档链接。
2025-12-15 09:33:16
654
原创 C++ 引用计数技术及智能指针的简单实现
本文介绍了智能指针的实现原理及其应用。通过RAII机制和引用计数技术,实现了基础对象类、辅助类和智能指针类,展示了智能指针如何自动管理内存。详细讲解了C++11标准中的unique_ptr、shared_ptr和weak_ptr三种智能指针特性,以及Boost库中的scoped_ptr、shared_ptr和weak_ptr实现。同时介绍了ATL中的CComPtr类用于管理COM接口指针。文章还指出了shared_ptr的循环引用问题及weak_ptr的解决方案,并提醒避免构造临时shared_ptr作为函
2025-12-15 09:32:12
973
原创 个人喜欢的电脑软件
本文分享了一些个人喜爱的电脑软件,涵盖桌面美化、快速启动、文件管理、截屏工具等多个类别。在桌面美化方面推荐了WallpaperEngine、雨滴桌面等;快速启动工具包括Listary、Rolan等;文件管理推荐FreeFileSync;截图工具推荐Snipaste;同时还介绍了图片整理、RSS阅读和Markdown写作等实用软件。这些工具能有效提升工作效率和电脑使用体验。
2025-12-15 07:45:00
249
原创 C++代码覆盖率
本文介绍了Windows和Linux环境下常用的C/C++代码覆盖率测试工具。Windows平台推荐使用COVTOOL和OpenCppCoverage,后者支持命令行操作和Visual Studio插件集成。Linux平台可通过gcc的--coverage选项配合gcov工具进行覆盖率分析,还可使用lcov生成HTML格式报告。这些工具能帮助开发者直观地查看代码执行覆盖情况,红色/绿色标记未执行/已执行代码,为软件测试提供有效支持。
2025-12-15 07:45:00
341
原创 Cryptlib
Cryptlib是一个开源的加密工具包,提供强大的加密功能和安全开发接口。相关资源包括官方主页(奥克兰大学)、最新版本下载链接(v3.4.4)以及使用手册PDF文档。该工具包支持多种加密算法和协议,适用于安全应用程序开发。
2025-12-14 14:50:47
114
原创 C#运行外部程序的两种方法
本文介绍了C#运行外部程序的两种方法:ShellExecute和Process。ShellExecute通过调用shell32.dll实现,可执行程序或打开URL,支持多种窗口显示模式。Process类则提供了更灵活的控制,可重定向输出、隐藏窗口等。两种方法各有优势:ShellExecute简单直接,Process功能更强大,适合需要获取执行结果的场景。开发者可根据需求选择合适的方式调用外部程序。
2025-12-14 14:49:51
188
原创 Doxygen
本文介绍了Doxygen文档生成工具的安装配置及注释规范。安装部分包括Doxygen、Graphviz(用于图表可视化)和HTML Help三个组件。配置方法通过doxywizard.exe图形界面完成。注释规范部分详细说明了多种注释风格:JavaDoc风格、Qt风格、C++风格等,包括块注释、行尾注释、参数方向标注等语法。文中提供了类、枚举、成员变量和函数的注释示例,展示了如何编写规范的文档注释以生成高质量的API文档。
2025-12-14 14:48:45
813
原创 获取GUID
该代码实现了一个生成GUID字符串的函数。首先初始化COM库,然后调用CoCreateGuid创建GUID。如果失败则记录错误。接着将GUID转换为字符串格式,并根据编译环境选择字符类型。最后释放资源并返回生成的GUID字符串。函数使用COM API和RPC函数完成GUID的生成和转换。
2025-12-14 14:47:19
127
原创 Hexo yilia主题
本文介绍了Hexo博客使用Yilia主题时的常见问题解决方案。主要包括SEO优化需要安装的三个模块:hexo-generator-feed(RSS)、hexo-generator-baidu-sitemap和hexo-generator-sitemap(站点地图)。针对标签不显示问题,需安装hexo-generator-json-content模块并在配置文件中添加相应设置。此外还提供了Hexo+Github建站过程中错误排查的参考链接。这些解决方案均需要在博客根目录而非主题目录下操作。
2025-12-14 14:46:19
271
原创 Jenkins
本文介绍了Jenkins持续集成系统的安装与配置方法。主要内容包括:1)MSBuild插件安装及全局工具配置;2)C#项目构建参数设置,包括解决方案路径、生成模式等关键参数;3)解决SVN外部引用依赖问题的方法;4)推荐使用的插件清单,包括Subversion、Publish Over FTP和Cobertura等。文章提供了从基础安装到项目配置的完整指南,并针对常见依赖问题给出了解决方案,帮助开发者快速搭建.NET项目的自动化构建部署环境。
2025-12-14 14:45:06
358
原创 libssh2
libssh2是一个SSH2协议库,提供下载地址包括官网和GitHub。编译需要依赖openssl和zlib,需修改win32目录下的config.mk文件配置路径,或使用VS2010打开项目文件设置路径后编译。支持通过NMakefile或Visual Studio两种方式编译。
2025-12-14 14:43:50
110
原创 NLog学习
NLog是.NET平台下简单易用的开源日志组件。通过NuGet安装后,可通过LogManager获取Logger实例,支持Trace、Debug、Info、Warn、Error、Fatal六种日志级别。配置支持两种方式:集成到应用配置文件或独立NLog.config文件,可定义多个输出目标并设置不同日志级别规则。日志消息支持参数化格式,布局(Layout)功能可自定义输出格式。相比log4net,NLog配置更简洁,适合.NET项目快速实现日志功能。
2025-12-14 14:41:55
538
原创 SQLite NET
本文演示了如何在C#中使用SQLite数据库。程序首先创建或打开test.db3数据库文件,检查并创建test表(包含id和name字段)。然后清空表数据,插入5条测试记录(包含中文内容),最后读取并输出所有数据。示例展示了SQLiteConnection、SQLiteCommand和SQLiteDataReader等核心类的使用方法,包括数据库连接、表操作(创建、删除、插入)和数据查询等常见操作。文末提供了多个SQLite相关参考链接。
2025-12-14 14:38:20
332
原创 SVN版本号
本文介绍了使用SVN工具SubWCRev自动生成版本号的方法。通过version_template.h模板文件定义版本号宏和SVN信息变量,配合批处理脚本调用SubWCRev.exe工具,将工作副本的SVN信息(如版本号、修改状态、日期等)替换模板中的变量,生成最终的version.h文件。文章还展示了SVN日志查询命令和配置方法,包括在Visual Studio中集成版本号生成功能。参考链接提供了TortoiseSVN官方文档和相关教程。
2025-12-14 14:37:34
300
原创 程序只能启动一次
本文展示了一个实现程序单实例运行的代码片段。通过调用CreateMutex创建互斥体,当检测到ERROR_ALREADY_EXISTS错误时,表明程序已在运行,此时弹出提示信息并返回FALSE终止启动。该方法简单有效地保证了程序只能启动一个实例,避免重复运行。核心机制是利用互斥体的唯一性检测程序运行状态。
2025-12-14 08:15:00
179
原创 啊哈算法-读书笔记
《数据结构与算法精要》摘要:本书系统讲解了常用数据结构(栈、队列、树、图等)和核心算法(排序、搜索、图论等)。重点包括:多种排序算法(桶排、快排等)的实现与比较;图的遍历与最短路径算法(Floyd、Dijkstra等)的适用场景分析;树结构的应用(堆、并查集);以及搜索策略(DFS/BFS)。特别对算法时空复杂度、负权处理等关键问题进行了深入探讨,并附有面试真题解析和经典参考书目推荐。全书通过清晰的代码示例和对比表格,帮助读者建立系统的算法思维体系。
2025-12-14 06:15:00
1691
原创 结巴分词学习
结巴分词是一个流行的中文分词工具,提供Python、C++和.NET等多种语言实现。主要项目包括Python版的jieba、C++版的cppjieba以及.NET版本的jieba.NET。相关资源包含代码详解文章和开发笔记,帮助开发者理解和使用这些分词工具。项目地址和文档链接已列出,方便用户快速获取和使用这些开源工具。
2025-12-13 07:45:00
117
原创 算法学习笔记
本文总结了常见算法知识点,包括判断2的幂的三种方法、排序算法分类及时间复杂度、二叉树与图的遍历实现、散列表构造与冲突解决方法、伪随机数生成算法(梅森旋转)以及加密算法(Blowfish/AES/scrypt)。内容涵盖算法基础、数据结构操作和加密技术,适合编程与算法学习者参考。
2025-12-13 07:30:00
919
原创 获得GetLastError()内容
该代码实现了Windows系统错误信息的获取和异常处理功能。GetStrError函数通过FormatMessage获取系统错误描述并存入CString对象。MyAfxMessageBox函数扩展了标准消息框,显示错误码和系统错误信息。最后通过try-catch块捕获CMemoryException、CFileException等MFC异常以及未知异常,调用MyAfxMessageBox显示错误详情。代码结构清晰,实现了错误信息的友好展示和异常处理机制。
2025-12-12 08:00:00
241
原创 自动构建项目
本文介绍了多种持续集成工具和构建系统,包括Jenkins、MSBuild、CCNET、Chef、Cabie、SCons和Nant。这些工具适用于不同环境,支持自动化构建、测试和部署。其中Cabie是一个开源的分布式构建系统,支持持续集成和夜间构建;SCons是跨平台的构建工具;Nant则专注于.NET项目的自动构建。开发者应根据项目需求选择合适的工具,文中提供了多个工具的官方文档和参考链接。
2025-12-12 07:00:00
234
原创 ZeroMQ
ZeroMQ是一个高性能异步消息库,支持分布式和并发应用开发。官网提供软件下载(包括Windows版本)、文档和指南(含中文版)。开发者可通过GitHub获取源码(libzmq为核心库),并支持C++等多种语言。详细文档《ZeroMQ指南》涵盖全部功能,是开发者的重要参考资源。
2025-12-11 08:15:00
192
原创 正则表达式
本文介绍了C和C++中正则表达式的使用方法。C语言通过regex.h头文件提供正则功能,主要使用regcomp()编译、regexec()匹配、regfree()释放和regerror()错误处理四个函数。文中给出了一个完整的C语言正则匹配示例代码,详细说明了各函数参数的含义。C++则通过<regex>头文件提供更丰富的正则表达式支持,包括basic_regex、match_results等类,以及regex_match、regex_search等函数。
2025-12-11 07:30:00
925
原创 C++目录监控
本文介绍了Windows平台下监控文件和目录变更的几种主要方法:1)使用.NET的FileSystemWatcher类,通过事件机制监控文件变化;2)利用Boost.Asio扩展实现目录监视器;3)调用Windows API函数SHChangeNotifyRegister、FindFirstChangeNotification和ReadDirectoryChangesW;4)通过文件系统过滤驱动实现底层监控。
2025-12-10 07:45:00
647
原创 C++的句柄泄露
本文介绍了检测Windows句柄泄露的几种方法。通过任务管理器或Process Explorer可以查看进程句柄数量,而Windbg则需绑定进程后使用!handle命令统计句柄数。文章还分析了内核对象和句柄的关系,并推荐使用HandleSpy工具检测句柄泄露。该工具通过统计方法检测泄露,利用GetProcessHandleCount等API实时监控句柄数量变化,适用于Windows XP SP1及以上系统。
2025-12-10 07:00:00
613
原创 MFC学习
MFC六大核心机制解析:包括程序初始化(基于CObject基类的虚函数调用)、RTTI运行时类型识别(通过CRuntimeClass类维护类信息)、动态创建(依赖RTTI机制)、持久化(类对象文件读写)、消息映射(DECLARE_MESSAGE_MAP等宏实现消息传递)和命令路由(WM_COMMAND消息的特殊处理路径)。MFC通过分层类结构(数据处理类、API封装类、框架类等)和消息驱动机制(系统/线程消息队列、消息泵处理流程)实现Windows应用程序开发,支持复合文档、数据库、网络等功能模块。
2025-12-09 07:00:00
648
原创 ImageMagick
ImageMagick是一个功能强大的图像处理工具,提供多种安装方式和编程接口。文章介绍了ImageMagick的三种主要接口(MagickCore、MagickWand和Magick++),并详细说明了在Unix和Windows系统下通过源码安装的步骤。Unix用户可通过命令行配置编译安装,Windows用户需使用Visual Studio IDE。此外还提供了便携版本安装、命令行调用示例以及ImageMagickCOM+对象的使用方法。
2025-12-09 07:00:00
1001
原创 libcur
本文介绍了curl库的下载、编译和使用方法。主要内容包括:1) curl源码下载地址;2) Windows环境下使用nmake编译curl的两种SSL模式(WinSSL和OpenSSL)及各自优缺点;3) 使用curl静态库和动态库时的配置方法;4) 对libcurl进行封装的cpr库的使用示例;5) 使用curl下载文件的代码示例。文章详细说明了不同编译方式的命令参数和注意事项,为开发者提供了实用的curl库集成指南。
2025-12-08 07:45:00
982
原创 设计模式之禅-笔记
本文总结了《设计模式之禅》中的核心设计模式对比与应用场景。重点分析了单例模式与原型模式、工厂方法与建造者模式、代理与装饰模式等常见模式的异同,指出装饰模式强调功能扩展而代理注重流程控制,策略模式关注算法替换而命令模式侧重解耦。文章还梳理了结构类模式(如桥梁模式)与行为类模式(如观察者模式)的特点,并通过图表展示了23种经典设计模式的关系图。这些模式通过不同维度的组合与封装,为软件设计提供了灵活、可扩展的解决方案。
2025-12-08 05:00:00
1242
MFC 中获取各种类指针的方法
2014-07-28
SumatraPDF保存标注到TXT,使用Save AnnotationsToTXT菜单保存PDF现有标注到TXT
2021-07-09
SAO Utils Plugins extend,配合SAO Utils,Windows桌面显示农历日期与股票信息的插件
2021-12-02
删除MarkDown文档中的 U+200B 零宽度空格字符(Typora中显示红点),格式化MD文件
2022-04-15
gloox 1.0.15 使用vs2013可直接打开 开源跨平台 C++实现的XMPP 协议开发包
2016-06-29
创建多国语言中英文界面类,支持MFC各种资源字符串,不同语言配置不同的本地ini文件即可
2019-08-26
自动生成或更新文件版本信息AutoVersion支持一下三种方式:1. 对单个exe或dll进行修改2. 对某个目录下的
2020-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅