基础技术
Monday, February 3, 2020
3:27 PM
单进程实例的实现方案
- 扫描进程列表
- 枚举程序窗口
- 共享全局变量
- 创建系统范围内全局名称空间中唯一的对象名,如 CreateMutex.
DLL 延迟加载
1.介绍
研发时通常会使用第三方库,但并非所有的第三方库都会提供静态库,大多数会提供动态链接库 DLL。
DLL延迟加载优点是将必须的DLL文件以资源文件的形式插入到程序中。在正式调用到必须的DLL之前,
程序都可以正常执行。程序在这段时间内,将资源中的DLL释放到本地,等到正式调用DLL的时候释放
的文件就会正确地加载执行。
这样,当使用程序的时候,只需把exe 文件发送给用户,而不需要附加DLL文件,也不需担心程序丢失
DLL 文件。
2.无需编码,仅修改linker.
资源释放技术
若程序需要加载一些DLL文件,文本文件,图片或音视频文件等,可将其以资源形式插入到程序中,
等程序运行后,再将其释放到本地。优势是这样编译出来的只有一个exe,而不需携带其他文件,使程序
变得简洁。