繁体   English   中英

将某些文件嵌入dll是错误的吗?

[英]Is it wrong to embed some files in a dll?

在性能方面,将文件嵌入dll的资源部分是否错误?
这可能看起来很愚蠢,但目的是尝试将一些信息嵌入dll中,以便以后丢失某些解决方案和文档并且只有dll时可以通过某些方法来获取这些信息。
做这样的事情有什么弊端?
是建议还是禁止?

嵌入式资源非常高效地完成。 在后台,它使用操作系统的按需分页虚拟内存功能。 等同于内存映射文件。 换句话说,资源可以直接在内存中访问。 而且,您只有在开始使用资源时才需要付费。 对资源的首次访问将强制从文件中读取资源并将其复制到RAM中。 再次取消映射非常便宜,操作系统可以简单地丢弃该页面。 没有办法提高效率。

勋章的另一面是它被永久映射到虚拟内存中。 换句话说,您的进程将丢失资源占用的内存空间。 您将更快地用尽可用地址空间,更有可能发生OutOfMemoryException。

直到您在32位进程中吞噬了半GB之前,通常不必担心这件事。 而且不要在64位进程中烦恼。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM