Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
ANSI С/С++
(Модератор:
Вад
) > Тема:
#pragma once
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: #pragma once (Прочитано 21744 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mfcer__
Команда клуба
Offline
#pragma once
«
:
20-11-2003 19:33 »
Что значит директива процессора
#pragma once?
Спасибо. Только можно объяснить попонятней плз.
Записан
Serega
Гость
#pragma once
«
Ответ #1 :
20-11-2003 19:40 »
Это что бы хидер не инклудился несколько раз
раньше использовали такую конструкцию:
#ifndef _MY_HEADER_ALLREADY_INCLUDED_
#define _MY_HEADER_ALLREADY_INCLUDED_
...
#endif
а теперь можно просто писать #pragma once в начале файла
на форуме такая штука описана в теме "Помогите понять..."
Записан
RXL
Технический
Администратор
Offline
Пол:
#pragma once
«
Ответ #2 :
20-11-2003 22:26 »
А это стандартная фича, или только для vc?
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
grozny
Гость
#pragma once
«
Ответ #3 :
21-11-2003 06:16 »
не, нестандартная - это ж прагма - что по определению есть компиляторно-зависимая фича
. А я бы в стандарт внёс.
Записан
Asan
Гость
#pragma once
«
Ответ #4 :
21-11-2003 06:45 »
Кроме того, #pragma once заставляет компилятор просматривать файл только один раз, что может уменьшить время компиляции.
Записан
RXL
Технический
Администратор
Offline
Пол:
#pragma once
«
Ответ #5 :
21-11-2003 10:37 »
Может это и удобно, но когда я беру чужие исходники, а в readme написано что мне нужен новый компилятор, то понимаешь условность таких удобностей. Программист должен помнить, что пишет не только для себя.
Тем более если распространяет исходники.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Asan
Гость
#pragma once
«
Ответ #6 :
21-11-2003 11:26 »
Вроде по стандарту компилятор должен игнорировать неизвесные прагмы.
Записан
RXL
Технический
Администратор
Offline
Пол:
#pragma once
«
Ответ #7 :
21-11-2003 12:12 »
Да, но если "скобки" из ifndef/define/endif заменили на pragma once?
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Asan
Гость
#pragma once
«
Ответ #8 :
21-11-2003 12:34 »
Цитата: RXL
Да, но если "скобки" из ifndef/define/endif заменили на pragma once?
Тогда конечно. Лучше их вместе использовать.
Записан
Sashok
Молодой специалист
Offline
Пол:
#pragma once
«
Ответ #9 :
21-11-2003 17:08 »
А я вообще не злоупотребляю #pragma. Для "замка" ставлю только #ifndef-#define-#endif
Записан
Если бы окружающие нас объекты содержали столько же ошибок, сколько программы, цивилизация обрушилась бы от первого порыва ветра...
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
#pragma once
«
Ответ #10 :
21-11-2003 17:39 »
Sashok
, и я тоже - проще , понятнее нагляднее...
Привычнее наконец
Записан
А птичку нашу прошу не обижать!!!
piterbyr
Гость
Re: #pragma once
«
Ответ #11 :
07-01-2006 23:40 »
опять директива pragma once
она препятствует повторному включению компилятором header файла, то есть если у нас с 10 таких файлов то проверяются все???
Записан
piterbyr
Гость
Re: #pragma once
«
Ответ #12 :
07-01-2006 23:42 »
#if _MSC_VER > 1000
#pragma once
#endif
кстати вот такие директивы в StdAfx не очень понятно зачем они..
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: #pragma once
«
Ответ #13 :
09-01-2006 05:27 »
Цитата: piterbyr от 07-01-2006 23:42
#if _MSC_VER > 1000
#pragma once
#endif
кстати вот такие директивы в StdAfx не очень понятно зачем они..
чтобы у младших версий крыша не улетела наверное
А я применяю pragma once (только в самописных инклудах)
"блок" #ifdef...#esle...#endif у меня только там, где надо по разному больШую часть кода скомпилить, то есть, к примеру, как сама готовая программа, так и некий инструмент для неё (часть кода одинаковая)
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
ANSI С/С++
(Модератор:
Вад
) > Тема:
#pragma once
Загружается...