- 博客(186)
- 资源 (322)
- 收藏
- 关注

翻译 (译) Llama.cpp 教程:高效 LLM 推理和实现的完整指南
这本关于 Llama.cpp 的全面指南将带你一步步探索设置开发环境、了解其核心功能以及利用其功能解决现实世界问题的必要知识。
2024-06-05 09:58:46
12525
2

翻译 翻译 What We Learned from a Year of Building with LLMs (Part I)
本文由六位不同背景和专业领域的作者共同撰写,分享了他们使用大型语言模型(LLMs)构建实际应用一年来的经验教训。文章分为战术、运营和战略三部分,讨论了如何有效地使用提示(prompting)、改进信息检索(RAG)、设计人工在环工作流程,并强调了评估和监控LLMs的重要性。作者们提供了丰富的最佳实践、常见陷阱和实用建议,旨在帮助读者构建成功的LLM应用,并指出了在构建过程中保持输出多样性、减少错误和提升性能的关键策略。
2024-06-02 10:35:19
999
2

原创 Lazarus - 隐秘的神器
本文总结回顾了Delphi 、Lazarus的发展史,以及Lazarus蓬勃发展的现状,以此作为 Lazarus 专栏的序幕。
2024-05-22 18:04:43
4754

原创 WinDbg 源码级调试 C++ 程序
本篇作为 Windbg 调试 C++ 源码的抛砖引玉,希望能够给为各位对 C++ 细节有研究兴趣的同学一个不同的角度。Windows 调试和Windbg 工具本身的使用又是另外两个浩瀚的领域,学无止尽,共勉!
2024-05-16 17:18:43
1800

原创 C++ 关键字 :using
在 C/C++ 中,定义类型别名的方法有#define、typedefusing 多种方式。#define 是宏定义关键字,用途广法,尤其是 C 中,不局限于类型别名定义。在C++中,推荐使用using来定义类型别名,因为它更符合C++的现代编程风格。似乎三者没有明显区别,当然由于#define 宏定义的本质,和后两者是可以明显区分开的。那么,typedef 和using的区别在哪里呢?首先,使用typedef定义的别名和使用using定义的别名在语义上是等效的。
2024-05-14 17:15:00
4059

原创 探索大型语言模型(LLM)的世界
大型语言模型(LLM)是深度学习在自然语言处理(NLP)领域的集大成者,它们代表了人工智能技术在理解和生成语言方面的重要进步。LLM的核心是基于变换器(Transformer)架构的复杂神经网络,这一架构因其在处理序列数据时的高效性而闻名。LLM是一种预训练的深度学习模型,专为处理自然语言而设计。它们通过在大量文本数据上进行训练,学习语言的统计特性和模式,从而能够执行各种语言任务,如文本分类、情感分析、机器翻译、问答系统和文本摘要等。
2024-05-09 17:51:25
1459

原创 浅谈Windows 上的线程亲和性(Thread affinity)
由浅入深,从不同系统、C++语言、Windows对资源调度管理等多个层面阐述了线程亲和性的由来、使用,并附带了Raymond Chen的《Thread affinity of user interface objects》系列的翻译。
2024-05-08 19:04:30
3066
4

原创 Windows 进程权限浅谈 -- 提权 / 降权
在 Windows 上,用户对权限并不敏感,可能最为直观的是 UAC ,但相信很多人已经关掉了它的提示。但其实安全性早已深入了 Windows 的方方面面。Windows Vista 引入了一个称为强制完整性控制()的新安全结构,类似于 Linux/Unix 中可用的完整性功能。在 Windows Vista 以及后续版本如Windows 11/10和Windows 8/7中,所有安全主体(用户、计算机、服务等)和对象(文件、注册表键、文件夹和资源)都被赋予MIC标签。
2024-03-24 23:49:39
4616
原创 HarmonyOS 应用开发学习记录 - 从Windows开发者视角看鸿蒙开发
以Windows程序员视角看待鸿蒙系统,记录开发转型的体验。对比了Windows与HarmonyOS的系统差异,指出鸿蒙的分布式特性、声明式UI和ArkTS语言带来的开发范式转变。通过核心概念映射表,展示了进程、UI、数据管理等模块的本质区别。强调鸿蒙"一次开发,多端部署"的理念,分析了其微内核、服务组件化的架构特点。对于Windows开发者,建议重点关注设备协同、动态能力检查等分布式特性,并适应异步编程模式。
2025-06-10 17:44:51
182
原创 VMWare “另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘“xxx.vmdk”或它所依赖的某个快照磁盘。“ 解决
每天都在用 VMWare,今早一开机提示虚拟机磁盘被锁定,一激灵,以为虚拟机文件损坏了。其实,大部分这类情况是因为虚拟机磁盘锁定文件(.lck文件夹)未被正确释放导致的。虚拟机磁盘锁定文件就在虚拟机磁盘所在的同级目录下,以 xxx.vmdk.lck 后缀结尾。这个文件的作用是,当虚拟机运行时,它会锁定相关文件以防止数据被修改。打不开磁盘“xxx1.vmdk”或它所依赖的某个快照磁盘。打不开磁盘“xxx2.vmdk”或它所依赖的某个快照磁盘。打不开磁盘“xxx.vmdk”或它所依赖的某个快照磁盘。
2025-06-05 10:29:22
185
原创 OpenCV视觉图片调整:从基础到实战的技术指南
本文深入探讨基于OpenCV的图像处理核心技术。首先解析数字图像的矩阵本质及BGR/HSV/Lab等色彩空间特性,详细介绍几何变换(仿射/透视)、色彩调整(亮度/对比度/Gamma校正)和图像滤波(高斯/中值/双边)等核心方法。通过代码实例演示直方图均衡化、CLAHE等高级技术,并给出证件照处理系统的完整实现流程。最后提出GPU加速、多线程等优化方案,展望深度学习与传统图像处理的融合趋势。全文系统性地呈现了从基础到实践的OpenCV图像处理方法论。
2025-05-27 17:41:56
1200
原创 浅探 Windows 上获取磁盘信息的几种方式(一)
浅探 Windows 上获取磁盘信息的几种方式,本期提供了三个API分别获取磁盘容量、卷、簇等信息。
2024-12-05 22:00:34
1496
原创 翻译《The Old New Thing》- How can I detect whether the user is running as an elevated administrator(...
本文介绍了如何检测用户是否以提升的管理员权限运行程序。在UAC启用的情况下,管理员用户以“分割令牌”登录,初始状态下无法使用全部管理员权限,需要手动提升权限。通过检查令牌的提升类型(TokenElevationType),可以区分用户是普通用户、受限管理员还是完全管理员。若令牌提升类型为TokenElevationTypeFull,则表示用户以提升的管理员权限运行。示例代码展示了如何使用GetTokenInformation函数和wil库中的辅助函数来检测这一状态。这对于需要控制程序以何种权限运行的开发者来
2024-10-29 10:35:45
660
原创 翻译《The Old New Thing》- Why does adding WS_MINIMIZEBOX change how my window behaves when the user...
为什么在Windows窗口中添加WS_MINIMIZEBOX样式会影响用户按下Win+D(显示桌面)快捷键时窗口的行为。当窗口包含WS_MINIMIZEBOX样式时,它可以被最小化,因此Win+D会将其最小化,IsIconic函数会返回非零值表示窗口已被最小化。若无此样式,窗口不能最小化,IsIconic则返回FALSE。此外,文章还讨论了IsIconic函数名称的历史由来,即在任务栏发明之前,最小化的窗口以图标形式表示,因此得名。
2024-10-29 10:07:10
362
原创 翻译《The Old New Thing》- How does the linker decide whether to call WinMain or wWinMain?
Visual C++ 链接器在没有指定 /ENTRY 选项时,会根据 /SUBSYSTEM 和模块符号来决定调用 WinMain 或 wWinMain。如果指定了 /DLL,则默认入口点是 _DllMainCRTStartup。对于控制台应用程序,链接器寻找 wmain 或 main;对于 Windows 应用程序,则寻找 wWinMain 或 WinMain。如果未指定子系统,链接器会查找所有四个符号,并使用找到的第一个。要解决因将 wWinMain 放入库中导致的链接错误,可以在项目中定义一个 wWin
2024-10-16 10:52:35
961
翻译 翻译《The Old New Thing》- If threads are created without a message queue, why can I post to them ...
在Windows中,线程初始无消息队列,但调用PostThreadMessage时系统会自动创建。要观察无队列情况,需从其他线程发送消息。
2024-10-16 10:36:09
61
原创 翻译《The Old New Thing》- How can I get the Windows Runtime HttpClient to display a ...
在传统 Win32 应用中,如何通过 `IInitializeWithWindow` 接口确保 `HttpBaseProtocolFilter` 显示基本认证对话框,解决了因线程 UI 上下文不明确导致的问题。
2024-06-22 07:15:00
910
原创 翻译《The Old New Thing》- When does a process ID become available for reuse?
进程 ID 何时可以被 复用?是在进程句柄变为已信号状态时(但在僵尸对象从系统中移除之前),还是只有在最后一个进程句柄被释放后(进程对象从系统中移除)才会发生?如果是前者,OpenProcess() 对僵尸进程会成功吗?(即已经终止但尚未从系统中移除的那个)
2024-06-22 06:45:00
433
原创 翻译《The Old New Thing》- How do I suppress the error box that appears when a LoadLibrary fails?
在 LoadLibrary 失败时,将 SEM_FAILCRITICALERRORS 标志添加到已经设置的任何标志中。
2024-06-16 13:27:49
355
原创 翻译《The Old New Thing》- How can I add an environment variable to a process launched via ...
本文展示了如何在 `ShellExecuteEx` 和 `IContextMenu` 调用中通过实现 `ICreatingProcess` 接口来向进程添加环境变量,并使用 C++/WinRT 库创建自定义服务站点。
2024-06-16 13:21:22
690
原创 翻译《The Old New Thing》- The case of the exception that a catch (…) didn’t catch
客户修复了bug但程序仍崩溃。分析发现,尽管异常被捕获,但由于两个同时发生的`E_ACCESSDENIED`错误,系统错误地匹配了异常堆栈,导致真正的问题未被正确识别。
2024-06-13 17:23:19
918
原创 翻译《The Old New Thing》- How does the classic Win32 ListView handle incremental searching?
经典 Win32 ListView 支持两种增量搜索模式:重复字母模式和前缀模式,根据用户输入自动切换以快速定位项目。
2024-06-13 17:13:54
797
原创 翻译《The Old New Thing》- Setting the contents of a Windows Runtime Vector from C++/WinRT in one call
在一次调用中设置 C++/WinRT 中 Windows 运行时向量的元素
2024-06-12 18:34:10
498
原创 翻译《The Old New Thing》- Is there any difference between StringFromIID and StringFromCLSID?
StringFromCLSID 和 StringFromIID 的条目是相同的。那么这两个函数之间有什么区别呢?
2024-06-12 18:30:48
381
原创 翻译《The Old New Thing》- How can I force a DLL to register itself if it won’t respond to regsvr32?
这篇文章讨论了如何强制注册一个不响应regsvr32命令的DLL文件。
2024-06-11 09:50:31
277
原创 翻译《The Old New Thing》- A graphical depiction of the steps in building a C++ executable, enhanced ...
这篇文章是关于如何在Windows环境下,特别是针对传统的Win32应用程序,构建C++可执行文件的详细步骤图解
2024-06-11 09:48:15
631
原创 翻译《The Old New Thing》- Why doesn‘t Explorer have an interface for creating hard links?
资源管理器未提供创建硬链接的用户界面,因为硬链接概念复杂,普通用户难以理解,且可能引发数据损坏和备份问题。
2024-06-10 11:22:00
434
原创 翻译《The Old New Thing》- Why do messages posted by PostThreadMessage disappear?
使用`PostThreadMessage`向显示UI的线程发送消息时,消息可能会被模态循环丢弃。为可靠通信,应创建隐藏窗口并发送消息。
2024-06-10 11:12:04
1122
原创 翻译《The Old New Thing》- How do I obtain the computer manufacturer’s name?
文章讲述了如何通过WMI查询获取计算机制造商信息,指出这种方法的可靠性依赖于BIOS,通常大品牌计算机显示的制造商名较为准确,而自组装机器可能仅显示"Manufacturer"。
2024-06-09 09:58:44
675
原创 翻译《The Old New Thing》- On 64-bit Windows, 32-bit programs run in an emulation layer, and if you ...
在64位Windows上,32位程序在仿真层上运行,如果你不喜欢那样,那就不要使用仿真器.
2024-06-09 09:52:46
596
原创 翻译《The Old New Thing》- Why isn’t there a SendThreadMessage function?
文章讨论了 Windows 中不存在 `SendThreadMessage` 函数的原因,指出通常应发送常规窗口消息而非线程消息,并建议使用窗口消息代替。
2024-06-08 21:58:54
827
原创 翻译《The Old New Thing》- ven if you have code to handle a message, you’re allowed to ...
即使你有处理消息的代码,你仍然可以调用 DefWindowProc,因为你本来就在这么做
2024-06-08 01:36:24
834
原创 翻译《The Old New Thing》- Why are some GDI functions named ExtXxx instead of XxxEx?
为什么一些 GDI 函数以 Ext 开头而不是 Ex?
2024-06-08 01:22:17
344
原创 翻译《The Old New Thing》- QueryPerformanceCounter counts elapsed time, not CPU cycles
`QueryPerformanceCounter`记录经过的时间而非CPU周期,因为其频率在系统运行时不变。创建与CPU周期相关的计数器需要定义跨架构的“CPU周期”概念,并解决多处理器和超线程情况下的计数问题。HAL编写者会为已知的有缺陷硬件添加检测和变通代码。
2024-06-07 09:31:41
381
原创 翻译《The Old New Thing》- What were ShellExecute hooks designed for?
ShellExecute钩子设计用于扩展可执行字符串集合,如使IE能通过"运行"对话框打开网址。滥用此钩子进行安全检查或审计,不仅违背设计初衷,也可能因其他钩子或直接调用CreateProcess而失效。
2024-06-07 09:28:15
1152
原创 翻译《The Old New Thing》If you return FALSE from DLL_PROCESS_ATTACH, will you get a DLL_PROCESS_DETACH?
如果从 DLL_PROCESS_ATTACH 返回 FALSE,是否会得到 DLL_PROCESS_DETACH?
2024-06-06 19:02:20
894
原创 翻译《The Old New Thing》- What’s with this MSH_MOUSEWHEEL message?
`MSH_MOUSEWHEEL`是为旧版Windows设计的滚轮消息,与`WM_MOUSEWHEEL`不同,它从前景窗口向外传播,需要手动处理。`WM_MOUSEWHEEL`则自动从焦点窗口向父窗口链冒泡。两者处理机制不同,导致在某些情况下`WM_MOUSEWHEEL`可能被错误地传递到非预期的子窗口。
2024-06-06 18:46:55
1065
TMS Web Core 2.8.3.0 D12 FS (完整源码版).zip
2025-05-18
uniGUI-1.95.0.1600 FS.7z
2025-05-14
uniGUI-1.95.0.1599 FS.7z
2025-05-13
TRichView-23.1-XE7-D12 & Lazarus FS.7z
2025-05-16
BusinessSkinForm1230 D12 FS.7z
2025-05-16
TMS FNC Gantt Chart v1.2.3.1 (May 15, 2025) FS.7z
2025-05-16
Winsoft Camera2 for Android v1.7 for Delphi & CB 12 Athens FS.7z
2025-05-16
XLSReadWrite-v6.00.47-for-D6-D10.3-Rio-FS.zip
2025-05-16
EMS Advanced Data Import 3.15.0.3 + EMS Advanced Data Export 4.18.0.2 FS.7z
2025-05-16
Add-in Express for Office and Delphi VCL v9.1.0.1655 for D11 Alexandria FS.rar
2025-05-16
AlmediaDev StyleControls v5.81 for Delphi XE2-12 FS.zip
2025-05-16
PowerPDF for Delphi FS.7z
2025-05-14
Kassl dOPC Client Toolkit v5.29 for Delphi 6-12 Athens FS.7z
2025-05-14
Almediadev Visual Component Library(BusinessSkinForm)12.30 For Delphi 5-XE7 FS.7z
2025-05-14
TRichView-23.0.1 FS.7z
2025-05-13
EhLib.VCL 11.1 Build 11.1.015 FS (Professional Edition).7z
2025-05-13
Woll2Woll InfoPower 4K v23.0.2.8 FS & 28Demos.7z
2025-05-13
TMS Aurelius v5.21.0.0 FS 完整源码版.7z
2025-05-06
TMS Echo v1.11.3.10 FS 完整源码版.7z
2025-05-06
CompressionMaster Suite Commercial Edition 6.96 FS.7z
2025-06-09
Scheduling Agent V2.1.29.0 FS.7z
2025-06-09
TMS VCL UI Pack v13.5.3.0 FS.7z
2025-05-28
Winsoft Win32 API for Delphi v4.0 for Delphi 7-11 Alexandria Full Source.rar
2025-06-04
### 自动驾驶基于多尺度YOLOv3的道路场景目标检测算法优化:提升大、小目标检测精度与实时性
2025-06-04
基于改进路径聚合和池化YOLOv4的目标检测.pdf
2025-06-04
基于YOLOv3的轻量化高精度多目标检测模型n.pdf
2025-06-04
YOLO-LITE,AReal-TimeObjectDetectionnAlgorithmOptimizedforNon-GPUComputers.pdf
2025-06-04
RVMedia Components(摄像头视频处理) v9.3 D12 FS.7z
2025-05-30
RVMedia 11 Demos.exe
2025-05-30
Bergsoft NextSuite (VCL) v6.40.0 Feb 2025 Delphi 6 - XE 12 FS.rar
2025-05-29
Winsoft Camera 2.8 FS.7z
2025-05-29
Sciter WebView API文档.pdf
2025-05-28
TMS iCL v4.2.0.4 FS.7z
2025-05-27
TMS FNC Chart v3.0.1.5 FS.7z
2025-05-27
TMS FNC WX Pack v1.7.2.4 FS.7z
2025-05-27
TMS mCL v2.3.0.4TMSMCL FS.7z
2025-05-27
如何确保窗口始终置底在桌面上?
2023-06-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人