Spec-Zone.ru › GCC 4 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-4.9.4/cpp/Deleted-Code.html

Spec-Zone.ru

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