Southmountain Ответов: 2

Должен ли я удалить эти операторы #ifdef / #ifndef в visual C++?


Я рефакторинга некоторые унаследованного кода на C++ и видеть такие заявления от ресурса.h заголовочный файл:

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by COMIntro.rc
//
#define IDS_HELLO                       1

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        101
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1000
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif


Я думаю, что могу удалить эти операторы #ifdef и т. д., Но мой вопрос заключается в следующем : для чего изначально используются эти операторы? может быть, я потерял какую-то историю этого.

попытайтесь получить некоторые идеи от экспертов и гуру здесь.

Огромное спасибо.

Что я уже пробовал:

удалите эти операторы и не увидите никаких проблем после компиляции:
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        101
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1000
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif

2 Ответов

Рейтинг:
2

Shao Voon Wong

Лучше не удалять их, иначе ваш редактор ресурсов, конструктор пользовательского интерфейса и ClassWizard не откроются.


Southmountain

Спасибо!

Rick York

Но это не так. У меня есть несколько файлов, которые не имеют этих макросов, определенных, и с ними нет никаких проблем.

Рейтинг:
16

Rick York

Они используются редактором ресурсов для назначения идентификаторов новым элементам управления. Например, если вы добавите кнопку к элементу управления, ему будет присвоен идентификатор 1000 - следующее значение элемента управления.

Если вы вообще не собираетесь редактировать файл ресурсов, вы можете безопасно удалить их, но у вас мало преимуществ, так что я бы не стал беспокоиться.


Southmountain

спасибо Вам за информацию! Я понял.