[英]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.