簡體   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