Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как закомментировать блок

4.3K
26 августа 2003 года
max_cr
6 / / 15.08.2003
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагмента.
4
26 августа 2003 года
mike
3.7K / / 01.10.2002
/*
а теперь не модно ??
раньше в C не было "//"
*/

:D :D :D
4.5K
26 августа 2003 года
dimas3679
7 / / 23.07.2003
Цитата:
Originally posted by max_cr
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагментах



Для этого существуют макросы. В Visual C++ есть макрос для комментирования блока:

Идёшь Tools->Macro. В поле Macro file выбираешь Sample, имя макроса: CommentOut, затем жмёшь Run.

Можешь повесить этот макрос на клаву:
Жмёшь Options, появляются ещё кнопочки, жмёшь Keystrokes, дальше всё легко.

1.8K
28 августа 2003 года
Jeff
94 / / 22.04.2003
Цитата:
Originally posted by max_cr
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагмента.



А вообщче есть такая полезная штука как Visual Assist. В шестом ассисте есть такая штука, как закомментировать блок. Я вообще его вешал на Ctrl+/ и все хорошо. Решай сам.

3
28 августа 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by max_cr
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагмента.



Если в основе вопроса лежит проблема с исключением части кода из процесса компиляции, и использование /* */ не подходит, т.к. в комментируемом блоке встречается */, например такую запись т.о. не закоментировать:

 
Код:
int func(int arg1, int /*arg2*/)
{
.............
}


то могу предложить такой вариант:
 
Код:
#if 0
int func(int arg1, int /*arg2*/)
{
.............
}
#endif
4.3K
01 сентября 2003 года
max_cr
6 / / 15.08.2003
Цитата:
А вообщче есть такая полезная штука как Visual Assist. В шестом ассисте есть такая штука, как закомментировать блок. Я вообще его вешал на Ctrl+/ и все хорошо. Решай сам.


Jeff, а где найти этот Visual Assist?

Цитата:


Для этого существуют макросы. В Visual C++ есть макрос для комментирования блока:

Идёшь Tools->Macro. В поле Macro file выбираешь Sample, имя макроса: CommentOut, затем жмёшь Run.

Можешь повесить этот макрос на клаву:
Жмёшь Options, появляются ещё кнопочки, жмёшь Keystrokes, дальше всё легко.


dimas3679, не подскажешь, где можно найти описание языка макросов для Visual C++.

Цитата:


Если в основе вопроса лежит проблема с исключением части кода из процесса компиляции, и использование /* */ не подходит, т.к. в комментируемом блоке встречается */, например такую запись т.о. не закоментировать:

code:--------------------------------------------------------------------------------
int func(int arg1, int /*arg2*/)
{
.............
}
--------------------------------------------------------------------------------


то могу предложить такой вариант:

code:--------------------------------------------------------------------------------
#if 0
int func(int arg1, int /*arg2*/)
{
.............
}
#endif


Green, я в С++ новичок и честно говоря не понял что сделает твой фрагмент кода?

3
01 сентября 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by max_cr

Green, я в С++ новичок и честно говоря не понял что сделает твой фрагмент кода?



Директива предпроцессора #IF ... #ENDIF используется для условного включения кода внутри этой директивы в процесс компиляции. Т.е. другими словами: если условие в #IF выполняется (true), то код между #IF и #ENDIF будет скомпилирован, а если условие не выполняется (false), то код не будет скомпилирован, т.е. как-бы закомментирован.
Т.о. если написать #IF 0, что равносильно #IF false, то кусок кода выпадет из компиляции.

 
Код:
#if 0  
// Этот код компилятор обойдет
int func(int arg1, int /*arg2*/)
{
.............
}
#endif


Для того, что бы вновь вставить кусок кода в процесс копиляции, достаточно заменить #IF 0 на #IF 1, что равносильно #IF true

 
Код:
#if 1
// Этот код будет компилироваться
int func(int arg1, int /*arg2*/)
{
.............
}
#endif

2.2K
02 сентября 2003 года
Alex_Odessa
30 / / 12.05.2003
#if 0
// Этот код компилятор обойдет
int func(int arg1, int /*arg2*/)
{
.............
}
#endif

такая простая проблема породила довольно таки интересное решение, все таки полезно почаще заходить на форумы.
:D
4.5K
05 сентября 2003 года
dimas3679
7 / / 23.07.2003
Цитата:
Originally posted by max_cr

dimas3679, не подскажешь, где можно найти описание языка макросов для Visual C++.



Язык макросов - это Visual Basic Script (VBS).
Описание его должно быть в MSDN. Навеняка есть ещё какие-то источники, но я не увлекаюсь VBS и поэтому ничего путного подсказать не могу.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог