繁体   English   中英

exe中应包含resource.h或icon.ico时如何应用编译器规则?

[英]How to apply compiler rules when resource.h or icon.ico should be included in the exe?

我正在使用#define和#ifndef缩小exe大小,我注意到resource.h和icon.ico文件占用了很多空间,因此我根本不想在exe文件中包含这些文件。

我该如何添加遵守#define命令的规则? 我可以编辑resource.h,但是每次更改它时,Visual Studio都会覆盖它。

编辑:我不知道这些资源的正确名称是什么,但是我的“ resource.h”包括窗口菜单选项等。

您说的“很多空间”是多少?

resource.h用于#define -ing常量标识资源,例如他们只是数字。 它们不应成为可执行文件大小的因素。

可执行文件大小的一个因素是您嵌入到可执行文件中的资源,由* .rc文件指定。 icon.ico占用* .exe中的空间,因为编译器将图标的二进制文件嵌入可执行文件本身中。 此图标在* .rc文件中指定,该文件应位于项目中的某个位置。

您可以选择从* .rc文件中删除该图标,然后将其与* .exe文件分开存储,但是将其嵌入可执行文件中会更容易。 毕竟,用于定义菜单,图标,对话框等的信息必须存储在某个地方。

编辑:您可以有多个资源文件,因此Visual Studio不会覆盖您的指令。 请参阅http://msdn.microsoft.com/zh-cn/library/6t3612sk(v=VS.80).aspx,以了解Visual Studio如何处理多个资源文件。 名为“ 在同一项目中使用多个资源文件 ”的部分似乎与您的问题有关。

在VS2010中,图标资源的属性包括项“条件”,该条件被描述为“指定确定包含资源的预处理器符号”。

你可以升级吗?

但是,编辑窗口已禁用,您必须跳过一些设置条件。 右键单击资源,然后选择“插入副本”,然后可以设置条件,然后删除原始的无条件图标。

也许这个技巧也可以在VS2008中使用,但不要在此计算机上安装它,因此我无法对其进行测试。

暂无
暂无

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

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