Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [FAQ] Множественное включение header'ов, Обсуждаем и критикуем статью для FAQ. 
:(
    Опции темы
MTWizard
Дата 8.1.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 8.10.2007
Где: Київ

Репутация: 1
Всего: 4



Кстати, с каких это времён Builder поддерживает #pragma once?
Я писал на 6-м, 2006, 2007 - там эти прагмы просто игнорируются.
PM MAIL   Вверх
JackYF
Дата 8.1.2008, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(MTWizard @  8.1.2008,  16:03 Найти цитируемый пост)
Кстати, с каких это времён Builder поддерживает #pragma once?
Я писал на 6-м, 2006, 2007 - там эти прагмы просто игнорируются. 

да-а? странно, а чего тогда кодогенератор Билдера их в исходники вставляет? просто так?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bsa
Дата 8.1.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



JackYF
#pragma once не видел ни разу.
а вот #pragma argsused и #pragma hdrstop встречаются.
PM   Вверх
MTWizard
Дата 8.1.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 8.10.2007
Где: Київ

Репутация: 1
Всего: 4



Вот именно. Только что перепроверил. C++ Builder 2007 Update 2.
Файлы:

File.cpp:
Код

#pragma hdrstop

#include "File.h"
#include "File.h"

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    return 0;
}


File.h:
Код

#pragma once

int x = 0;


Вылезает ошибка:
Код

[BCC32 Error] File.h(3): E2238 Multiple declaration for 'x'

Стоит добавить header guard, как ошибка устраняется. 

Вывод: Builder не поддерживает #pragma once

Это сообщение отредактировал(а) MTWizard - 8.1.2008, 20:03
PM MAIL   Вверх
JackYF
Дата 8.1.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(MTWizard @  8.1.2008,  17:36 Найти цитируемый пост)
Вывод: Builder не поддерживает #pragma once

оппа. Приехали... Значит, надо убирать из списка, скоро поправлю.

MTWizard, спасибо за информацию.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
SergeCpp
Дата 9.1.2008, 09:54 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: нет
Всего: 124



Некоторая информация относительно #include, include guards, #pragma once, скорости компилирования etc.

Experiments With Includes

Even More Experiments with Includes

Comments: Even More Experiments with Includes


Это сообщение отредактировал(а) SergeCpp - 9.1.2008, 09:56
PM MAIL WWW ICQ   Вверх
JackYF
Дата 9.1.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



SergeCpp, почитал, спасибо. Правда, к самому FAQ'у это имеет мало отношения.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 10.1.2008, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



Так замечаний больше вроде нет. Главред Евгений, статья на Ваш взгляд готова? Можно приступать к окончательной вычитке мною? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JackYF
Дата 10.1.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(JackYF @  8.1.2008,  19:44 Найти цитируемый пост)
Значит, надо убирать из списка, скоро поправлю.

Итак, это поправил, Билдер из списка убрал.

Цитата(archimed7592 @  10.1.2008,  10:27 Найти цитируемый пост)
Можно приступать к окончательной вычитке мною?

 smile 



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
warmonger_
Дата 10.1.2008, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.7.2007
Где: г. Киев

Репутация: 1
Всего: 3



Цитата(archimed7592 @ 29.12.2007,  20:39)
Цитата(JackYF @  29.12.2007,  20:36 Найти цитируемый пост)
а... имеется в виду - продемонстрировать работу #include'ов за компилятор?

Угумс. Многим это непонятно. В частности, многие считают, что между именем заголовочного файла и именем модуля трансляции есть какая-то магическая связь.
Цитата(JackYF @  29.12.2007,  20:36 Найти цитируемый пост)
MSVC, Builder, g++. Ещё? Эти я укажу.

Укажи обязательно. Насчёт "ещё?" - не знаю, ибо конструкцией этой не пользуюсь smile.

а какой конструкцией нужно пользоваться? есть альтернатива? ( кроме сказаного #pragma once)
--------------------
Make everything as simple as possible, but not simpler.Albert Einstein
PM MAIL   Вверх
JackYF
Дата 10.1.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(warmonger_ @  10.1.2008,  12:53 Найти цитируемый пост)
кроме сказаного #pragma once

ты статью вообще читал? она почти готова, прочитай, пожалуйста. Первый пост в теме.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 10.1.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93




M
archimed7592
Закрыто(для окончательного оформления).



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
warmonger_
Дата 10.1.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.7.2007
Где: г. Киев

Репутация: 1
Всего: 3



Цитата(JackYF @ 10.1.2008,  14:44)
Цитата(warmonger_ @  10.1.2008,  12:53 Найти цитируемый пост)
кроме сказаного #pragma once

ты статью вообще читал? она почти готова, прочитай, пожалуйста. Первый пост в теме.

Первый пост читал. Я имел ввиду кроме #pragma once, #ifndef...#define...#endif.
Извините, я неверное не так понял.
--------------------
Make everything as simple as possible, but not simpler.Albert Einstein
PM MAIL   Вверх
archimed7592
Дата 10.1.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



Цитата(warmonger_ @  10.1.2008,  20:26 Найти цитируемый пост)
Извините, я неверное не так понял. 

Наверняка.


M
archimed7592
Любуемся результатом :).



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
bsa
Дата 10.1.2008, 21:02 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Ну вот. Все-таки в другое измерение засунули...

archimed7592, сделай хотя бы ссылку в прикрепленной теме на форуме на весь FAQ. А то новички туда вряд ли пойдут.


Это сообщение отредактировал(а) bsa - 10.1.2008, 21:03
PM   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1290 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.