计算机世界的技术最能体现“道生一,一生二,二生三,三生万物”的哲学观。从底层到高层,从简单到复杂,层层抽象、层层封装促进了技术的繁荣,但也掩盖了技术的本质。
在C#技术生态中,有许多数据库访问相关的技术,对这些技术进行关系梳理和适当总结很有必要,请看本文。
计算机世界的技术最能体现“道生一,一生二,二生三,三生万物”的哲学观。从底层到高层,从简单到复杂,层层抽象、层层封装促进了技术的繁荣,但也掩盖了技术的本质。
在C#技术生态中,有许多数据库访问相关的技术,对这些技术进行关系梳理和适当总结很有必要,请看本文。
Entity Framework Core再一次让开发者领略到框架的强大力量,它不再是一个程序库,而是先进数据库设计手段的典范。
本文简要介绍EFCore的基本用法,更多干货可参考官方文档。
本文采用逐步调试的方法,带你一起探索MFC程序的执行流程、窗体创建、消息映射、运行时类型识别、对象动态创建这些核心机制。
相信读者在深入理解这些核心机制后,会由衷感叹于MFC框架实现的精妙,在使用MFC框架进行开发时也能“胸中自有丘壑”!
MFC曾在Windows桌面开发领域大放异彩,但随着时间的推移,如今相比各种流行的GUI开发技术(QT、WPF、Flutter、Web技术等),MFC被贴上“古老”、“落后”的标签。
但有大量工业软件采用MFC进行开发,且在AutoCAD二次开发领域,MFC是官方指定的ObjectARX界面开发方式,掌握MFC技术具有一定的现实需求。
本文从整体上介绍MFC单文档和多文档应用程序的整体框架。
本科期间开发过一款混凝土基本构件设计程序,该程序是一个独立的exe可执行文件,采用VC++静态链接MFC库编制而成。近期,需要为该程序添加用户注册验证的功能,从而避免任何用户获取该程序就能无限制使用的问题。
刚开始,打算在网络上找可直接为单个exe文件添加“一机一码”注册功能的平台软件,但该类软件基本都是付费软件,且生成的加壳程序很容易被杀毒软件误差。好在“一机一码”机制并不复杂,最终决定使用C#编程的方式手动实现该功能。
Inno Setup与NSIS有异曲同工之妙,且拥有更加简明的语法,其基于Delphi的扩展开发语法也更加友好。
花些时间简单了解一下,作为技术储备不深入研究,实际工作中主打NSIS。
安装包制作是软件发版的关键步骤,制作安装包的工具很多,总体分为两类:GUI工具(Advanced Installer等)、脚本工具(NSIS、Inno Setup等)。
本人在实际工作中深度使用NSIS,感受到了它的强悍,本文结合实例介绍打包AutoCAD插件、Revit插件和独立软件的脚本编写注意事项。