Spec-Zone.ru › GCC 7 CPP

4.3 Удаленный код

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

Один из способов избежать этой проблемы — использовать всегда-ложное условное выражение вместо этого. Например, поместите #if 0 перед удаленным кодом и #endif после него. Это работает даже если отключаемый код содержит условные выражения, но они должны быть целыми условными выражениями (сбалансированными ‘#if’ и ‘#endif’).

Некоторые люди используют #ifdef notdef вместо этого. Это рискованно, потому что notdef может быть случайно определен как макрос, и тогда условное выражение будет выполнено. #if 0 можно рассчитывать на то, что он не сработает.

Не используйте #if 0 для комментариев, которые не являются кодом C. Используйте вместо этого реальный комментарий. Внутренняя часть #if 0 должна состоять из полных токенов; в частности, одиночные кавычки должны быть сбалансированы. Комментарии часто содержат несбалансированные одиночные кавычки (известные на английском языке как апострофы). Они сбивают с толку #if 0. Они не сбивают с толку ‘/*’.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/cpp/Deleted-Code.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API