- 博客(139)
- 资源 (24)
- 收藏
- 关注
原创 Rust 结构体
Rust结构体是一种自定义数据类型,可以包含多个不同类型的字段。主要有三种形式:常规结构体(包含命名字段)、元组结构体(具名元组)和单元结构体(无字段)。结构体实例默认不可变,需使用mut声明可变实例。通过impl块可定义结构体方法(使用&self参数)和静态方法(无&self参数)。结构体可作为函数参数和返回值,适合封装相关数据。实例属性通过点号访问,方法调用区分实例方法(instance.method())和静态方法(Struct::method())。结构体在Rust中广泛用于数据组织
2025-10-20 22:03:59
425
原创 012 Rust 元组
Rust中的元组是使用小括号( )包裹的一组数据,支持不同类型元素混合存储。可通过两种方式声明:自动推断类型或显式指定类型。访问元组元素有两种方法:模式匹配解构和点号索引访问(推荐),其中索引必须是字面量常量。元组具有类型安全特性,每个位置类型固定,且编译器会进行越界检查。常见应用场景包括函数返回多个值,如fn get_user() -> (&str, u8, bool)。元组也支持嵌套访问,如nested.0.0。
2025-10-04 09:55:37
298
原创 011 Rust数组
本文介绍了Rust数组的声明和访问方式。数组声明可通过类型推断、明确指定类型和大小或初始化相同值三种方式。数组元素访问支持索引、get()方法、切片等多种形式,其中get()方法能避免索引越界错误。文章还展示了多维数组访问、迭代遍历和修改数组元素的方法,强调可变数组需用mut关键字声明。不同访问方式各有特点,可根据场景选择最合适的方式。
2025-10-04 09:40:48
572
原创 010 Rust流程控制
Rust的条件语句必须使用bool类型,不支持C/C++中非0即真的规则。循环语句包括while、for-in(通过迭代器或下标访问数组)和loop(可用break返回值)。for循环需用while替代传统C++风格的for循环。这些控制结构体现了Rust的类型安全和简洁性特点。
2025-09-22 22:29:34
431
原创 009 Rust函数
Rust函数定义采用fn关键字,基本语法为fn 函数名(参数)->返回值{函数体}。函数命名使用小写字母加下划线风格,参数必须声明类型。函数体由语句和表达式组成,最后一个表达式将作为返回值。Rust支持多种返回值方式:元组、结构体、数组、Result/Option类型等,可实现多值返回。函数定义与调用顺序无关,支持嵌套定义。相比C/C++,Rust要求显式声明返回值类型,不支持自动类型推断。函数参数通过引用传递可避免大对象复制开销。
2025-09-21 21:57:22
623
原创 008 Rust注释
Rust语言提供三种注释方式:1)单行注释//;2)多行注释/**/;3)文档注释///。文档注释支持Markdown格式,在IDE中会显示格式化提示,适用于生成API文档。单行和多行注释用于代码说明,而文档注释专门用于函数文档化,包含示例等内容。三种注释方式各司其职,帮助开发者编写更易维护的代码。
2025-09-21 21:09:15
262
原创 007 Rust字符串
Rust字符串有两种类型:String(可修改的堆分配字符串)和&str(不可变的字符串切片)。String支持创建、追加、拼接等操作,但不支持直接索引访问。&str指向字符串片段,常用于函数参数。字符串是UTF-8编码,需使用chars()或bytes()方法遍历字符。字符串字面量属于&'static str类型。实际开发中,需要修改字符串时用String,只读操作时用&str。
2025-09-17 23:13:16
707
原创 006 Rust基本数据类型
Rust提供了多种基本数据类型:整型包括有符号(i)和无符号(u)类型,按位长分为i8/u8至i128/u128,以及平台相关的isize/usize;浮点数有f32和f64;布尔型为bool;字符型char表示Unicode标量。复合类型包括元组(可包含不同类型值)和数组(固定长度同类型集合)。整数字面量支持多种进制表示,浮点默认使用f64,字符必须使用UTF-8编码。元组可通过模式匹配或索引访问,数组通过索引访问元素。
2025-09-16 22:59:29
852
原创 005 Rust变量与常量
Rust中的变量默认为不可变,需用mut声明可变变量,遵循小写下划线命名规范。支持自动类型推断,但建议显式声明类型。允许变量遮蔽(shadowing)重新定义同名变量。常量使用const声明,必须指定类型且只能用常量表达式赋值,名称通常大写。与不可变变量的区别在于:常量严格不可变,而不可变变量可通过遮蔽重新赋值。变量遮蔽实质是创建新变量,原变量仍存在但被隐藏。
2025-09-15 13:08:47
410
原创 004 Rust控制台打印输出
本文介绍了Rust语言中的打印输出方法。主要使用println!宏进行输出,格式字符串采用{}作为占位符,可通过顺序或下标方式引用变量。示例展示了基础打印、变量输出以及下标引用的用法,输出结果为"2,3,hello"和"2,hello,3"两种形式。println!是Rust特有的宏而非函数,这种设计体现了Rust对类型安全和格式化输出的重视。
2025-09-13 23:22:32
360
原创 003 cargo使用
Cargo是Rust的构建系统和包管理器,用于管理项目及依赖库。常用命令包括:cargo new创建项目,cargo build编译项目,cargo run编译并运行,cargo check检查语法错误。还可通过--release参数生成优化版本,如cargo build --release。其他功能包括运行测试(cargo test)、更新依赖(cargo update)和发布到crates.io(cargo publish)。
2025-09-13 21:05:37
430
原创 002 Rust环境搭建
本文详细介绍了在Windows 10系统下搭建Rust开发环境的完整流程。首先需要安装MSVC编译工具(C++桌面开发组件),然后下载安装Rust工具链,并通过命令行验证安装是否成功。接着安装Visual Studio Code及必要的Rust插件(如Rust-analyzer等)。最后通过创建和运行hello_rust项目进行环境验证。文中提供了官方工具链接和详细图文说明,帮助开发者顺利完成Rust开发环境的配置。
2025-09-13 20:43:36
1130
原创 001了解Rust
Rust是由Mozilla开发的高性能系统编程语言,具有内存安全、并发性强等特点。自2010年发布首个版本以来,Rust经历了多个重要版本迭代,包括2015年的1.0稳定版和2019年加入的异步编程支持。该语言采用独特的版本发布机制,每六周发布一个稳定版。Rust兼具C/C++的高效执行速度和现代语言的开发便利性,适用于Web应用、网络服务器、嵌入式设备等多个领域。其丰富的类型系统和所有权模型能在编译期消除内存错误,同时提供出色的工具链支持,是兼顾开发效率与执行效率的编程语言。
2025-09-13 09:35:05
744
原创 修改文件或文件夹的创建时间、修改时间、访问时间
功能修改文件或文件夹的创建时间、修改时间、访问时间。支持系统Windows xp3 ~ win10软件截图下载地址https://download.youkuaiyun.com/download/lhyhr/17063518
2021-04-23 12:58:40
1979
原创 查询与修改exe、dll等PE文件的版本信息【界面版】
软件功能:查询与修改exe、dll文件的版本信息,支持数字签名查询。界面图:下载地址:https://download.youkuaiyun.com/download/lhyhr/15120562
2021-02-07 18:17:49
982
原创 新风格MFC文件夹(目录)选择对话框CFolderPickerDialog
新风格选择目录或文件夹样式,如下图:提示:此类仅适用于vista及以上windows操作系统。在xp系统上选择目录会变成选择文件。方式一【推荐】:使用MFC的CFolderPickerDialogvoid CMCFolderPickerDialogDemoDlg::OnBnClickedButton1(){CFolderPickerDialogcfd(NULL, 0, this, 0);if (cfd.DoModal() ==...
2021-01-25 10:58:22
1827
原创 获取INI文件某个节下的所有键值
config.ini文件内容[name]zhangsan = 19lisi = 20wangwu = 18读取代码#include <afxwin.h>#include <tchar.h>#include <iostream>#include <map>using namespace std;map<CString, CString> mapIniKeyValue;/*功能:获取ini文件某个节下的所有键值。参数:
2020-12-15 16:04:40
2864
原创 显示Windows桌面系统图标
Windows安装后桌面往往不会显示“此电脑”、“网络”、“控制面板”等图标,可以使用该工具进行快速显示。支持静默参数:/s或-s运行后效果图:
2020-11-12 12:56:58
575
原创 MFC中使用CFileDialog类实现打开或保存文件对话框
// MFC中使用CFileDialog类实现打开或保存文件对话框VOID MOpenFileDialog(){ CFileDialog FDlg(TRUE, _T(".txt"), NULL, OFN_HIDEREADONLY, "word文件(*.doc)|*.doc|所有文件(*.*) |*.*||"); if (FDlg.DoModal() == IDOK) { CString strFileName = FDlg.GetPathName(); }}// CFileDialo.
2020-11-02 12:52:36
767
原创 VC 打开文件对话框/保存文件对话框/ 选择文件夹对话框
#include <windows.h>#include <ShlObj.h>#include <tchar.h>// 打开文件对话框VOID OpenFileDialog(){ // 打开文件对话框 OPENFILENAME ofn; TCHAR szFileName[MAX_PATH] = { 0 }; // 保存文件完整路径 TCHAR szTitleName[MAX_PATH] = { 0 }; // 保存文件名 // 设置过滤条件.
2020-11-02 12:31:02
1854
原创 修改exe、dll等PE文件的版本信息
ModifyVersionInfo功能:修改exe、dll文件的版本信息命令行传参形式:ModifyVersionInfo.exe <-FilePath="x:\test.exe"> [-FileDescription="xxxx"][...]可使用的参形选项:-FilePath:必须,指定待修改的exe、dll文件路径-Comments:可选,注释信息,若不指定则使用默认信息-CompanyName:可选,公司名称,若不指定则使用默认信息-FileDescrip
2020-10-20 18:44:06
2541
2
原创 悟空文件分享--局域网文件快速分享工具
设计背景与痛点:1、大文件通过QQ、企业微信、钉钉等发送时,需要漫长的上传等待,费时!!!2、使用U盘或移动硬盘来回拷贝,麻烦!!!费时!!!3、敏感文件,通过QQ、企业微信、钉钉发送,不安全!!!4、PC上的文件资料、APP应用等发送到手机,不方便!!!费时!!!设计目标:悟空文件分享,旨在局域网内方便、快速、安全分享文件,支持PC到PC,PC到手机,无需漫长的上传等待和U盘、移动硬盘来回拷贝,直接生成下载链接发给同事下载,节省文件拷贝和上传时间。支持系统:Windows
2020-10-20 09:01:49
1317
原创 【WM_ENDSESSION】MFC响应关机事件
void CMDemoShutdownEventReponseDlg::OnEndSession(BOOL bEnding){ CDialogEx::OnEndSession(bEnding); // TODO: Add your message handler code here MessageBox(_T("ok"));}
2020-10-15 10:10:08
783
原创 Go 程序的一般结构
// 当前程序的包名package main// 导入其他包import "fmt"// 常量的声明const _PI float64 = 3.14// 全局变量声明var title string = "hello world."// 一般类型声明type newType int// 结构声明type Student struct{}// 接口的声明type ILearn interface{}// 由 main 作为程序入口的启动点func main().
2020-08-07 17:48:51
352
原创 批量获取文件名或文件完整路径
SMenu(完整名称为StrongMenu)工具简介: 快速获取文件和目录的名称、所在路径,同时支持多个文件和目录选中,支持文件和目录混选。获取后自动发送到剪贴板,在目标直接粘贴即可。支持平台: Windows使用方法: 解压后把StrongMenu目录复制到任意磁盘根目录下,双击StrongMenu目录下StrongMenu.exe文件进行安装。安装完成后在文件和文件夹上右键,如:使用方法及效果演示:...
2020-07-21 12:48:23
2122
原创 C/C++ INI文件操作
一、INI文件用途: 1、存储程序的初始化信息; 2、存储需要保存的数据信息。二、INI文件结构: 由节名、键名、键值组成。形式如下: [节名] 键名 = 键值备注:一个INI文件,可以用多个节。三、读取INI文件 1、WritePrivateProfileString 该函数用于向INI文件中写入一个字符串数据。 函数原型如下:BOOL WritePrivateProfileStr
2015-10-07 21:13:58
2360
转载 DLLMain函数
DLLMain函数原型:BOOL WINAPI DllMain( HINSTANCE hinstDLL, // handle to DLL module DWORD fdwReason, // reason for calling function LPVOID lpvReserved // reserved);跟exe有个main或者WinMain入口函数一样,DLL
2015-10-05 23:30:29
1995
原创 VC++动态链接库
函数库:把函数组织起来,供其他程序调用,达到函数的复用的目的。 1、静态函数库与动态函数库: 静态函数库 - 编译时代码直接被编译链接到exe中。 缺点:会使程序的体积非常庞大。不利于模块的共享。 优点:不会产生dll文件,不依赖dll文件就能运行。动态函数库 - 就是把函数或业务代码封装在dll文件中。 优点:函数代码在dll文件中,其他程序可以调用dll中的代码,可以被多个程序共享。
2015-10-05 23:03:39
1224
原创 C/C++使用WinAPI CreateProcess函数调用外部程序
CreateProcess函数原型:函数原型: BOOL WINAPI CreateProcess( In_opt LPCTSTR lpApplicationName, Inout_opt LPTSTR lpCommandLine, In_opt LPSECURITY_ATTRIBUTES lpProcessAttributes, In_opt L
2015-03-19 13:43:19
9325
原创 使用Windows API函数向标准窗口控件发送消息
设计需求:向一个标准窗口控件按钮发送点击消息。需要的API函数:1、FindWindow函数函数原型:HWND WINAPI FindWindow( _In_opt_ LPCTSTR lpClassName, //窗口的类名 _In_opt_ LPCTSTR lpWindowName //窗口的标题);查看微软官方说明:http://msdn.micros
2014-12-06 15:05:39
5023
原创 C/C++新建注册表项【代码示例】
使用Windows API 函数中的RegCreateKeyEx函数来实现对注册表新建注册表项。RegCreateKeyEx函数:原形:LONGRegCreateKeyEx( HKEYhKey,//主键名称 LPCTSTRlpSubKey,//子键名称或路径 DWORD...
2014-11-17 18:03:23
7074
原创 C/C++读写注册表中二进制数据【代码示例】
使用Windows API 函数中的RegOpenKeyEx()函数和RegSetEx()函数来实现对注册表某项下的所有子项进行枚举。1、RegOpenKeyEx 函数:原形:LONG RegOpenKeyEx( HKEY hKey, // 要打开主键名 LPCTSTR lpSubKey, // 需要打开的子键
2014-11-17 17:28:06
4635
原创 C/C++枚举注册表某项下的所有键值【代码示例】
使用Windows API 函数中的RegOpenKeyEx()函数和RegEnumKeyEx()函数来实现对注册表某项下的所有子项进行枚举。1、RegOpenKeyEx 函数:原形:LONG RegOpenKeyEx( HKEY hKey, // 要打开主键名 LPCTSTR lpSubKey, // 需要打
2014-11-17 16:47:32
4530
原创 C/C++枚举注册表某项下的所有子项【代码示例】
/* * 版权: * 文件名称:RegEnumKey.c * 摘要:枚举注册表下的所有子项 * 当前版本: * 作者:烈风 * 完成日期: */# include # include # include int main(void){HKEY hKey = NULL; //保存注册表的句柄 TCHAR *subKey = "
2014-11-17 13:47:19
6471
原创 FastUninstaller 快速卸载工具 v2.0.2022.1013 发布
FastUninstaller 快速卸载工具,我很早就写了,也有了很多版本,比如用Python + wxPython写的第一个版本,接着又用C#重新写了FastUninstaller,总感觉运行效率有些慢,虽然说C#比Python写的要快了好多,但是每次安装到写的电脑上时都需要安装一个.net framework,很麻烦,在追求运行效率快速安装的目标下,决定用C语言来写FastUninstaller工具。运行环境:Win XP/Vista/7 /8/8.1/10/11。不用进控制面板,也能卸载程序。
2014-10-22 13:53:56
2269
原创 py2exe 打包的exe,添加管理员权限
windows = [{"script": "myscript.py","uac_info": "requireAdministrator"#获取管理员权限}]
2013-10-21 18:13:32
4222
原创 获取注册表某键下的所有子键
源代码:#!/usr/bin/env python#coding:utf-8import _winregkey = "想要获取的键"open_key=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, key)countkey=_winreg.QueryInfoKey(open_key)[0]keylist=[]for i in rang
2013-10-21 14:38:19
3919
原创 UninstallTool(Windows软件卸载工具)--快捷、方便卸载电脑中的软件
打开“开始”菜单-控制面板-添加/卸载程序,步骤太多太烦了,即使这样一次也只能卸载一个软件,用360?每次打开都要弹出主程序界面,太慢!为了解决这个问题,本人写了一个小工具通过在桌面快捷方式上右键--选择“软件卸载”轻松搞定。软件名称:Uninstall(右键卸载)软件版本:1.0.0.1软件大小:5.5MB软件语言:简体中文 捆绑插件:无 软件性质:免费 运行环境:W
2013-10-10 11:55:58
4953
原创 获取 Python 模块的路径
import a_moduleprint a_module.__file__如果需要跨平台,可用下面代码:import ospath = os.path.dirname(amodule.__file__)
2013-10-08 18:30:56
1520
FastUninstaller快速卸载软件
2022-10-13
ModifyVersionInfo.zip
2020-10-20
UninstallTool(软件卸载工具)
2013-10-10
批量获取文件名或文件完整路径(StrongMenu)2020.11.08更新
2020-11-07
PE版本信息查询与修改
2021-02-07
批量获取文件名称或文件完整路径--StrongMenu.zip
2020-07-21
显示桌面系统图标,如“此电脑”、“网络”、“控制面板”等图标
2020-11-12
悟空文件分享--局域网文件快速分享工具
2020-10-20
悟空文件分享.zip
2020-08-19
go1.1.1.windows-amd64
2013-07-25
编程ING人人都能学会程序设计
2012-09-07
Visual Assist X 10.7.1929
2013-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅