Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сообщение компилятора VC++ 6.0 
:(
    Опции темы
AndreySol
Дата 23.1.2007, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

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



Код

STREAMS.H included TWICE

Что сие значит ? И как с этим бороться ?
Я так примерно понял что компилятор обнаружил двойное включение этого хедера, и что он сделал:  одно из них проигнорировал или обработал оба, а меня просто проинформировал ?
PM MAIL   Вверх
Nuzur
Дата 23.1.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



AndreySol, ну насколько я понимаю STREAMS.H  это ваш класс. Отсуда вопрос, а предусмотрели вы 

Код

#if !defined(MY_CLASS_INCLUDED_)
#define MY_CLASS_INCLUDED_

#endif // !defined(MY_CLASS_INCLUDED_)


судя по сообщению компилятора нет.
Удачи!


--------------------
Never again...
PM MAIL   Вверх
AndreySol
Дата 23.1.2007, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

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



Понял, спасибо.
PM MAIL   Вверх
nonstop
Дата 24.1.2007, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



#pragma once
все же короче
PM MAIL Jabber   Вверх
Nuzur
Дата 24.1.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



nonstop, There is also an explicit directive to tell the preprocessor that it need not include a file more than once. This is called `#pragma once', and was used in addition to the `#ifndef' conditional around the contents of the header file. `#pragma once' is now obsolete and should not be used at all.
Надеюсь перевести сам сможеш. Удачи!


--------------------
Never again...
PM MAIL   Вверх
SergeCpp
Дата 24.1.2007, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


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

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



Nuzur, Ваша цитата дословно есть, в частности, вот на этой вот странице

Замечу, что FREEBSD.ORG != Microsoft Visual C++ 6.0

Использую сам (именно в VC++ 6.0 SP6) и рекомендую использовать #pragma once

Весьма полезно будет прочитать вот эту вот статью и комментарии к ней

Even More Experiments with Includes
Comments on article

PM MAIL WWW ICQ   Вверх
Nuzur
Дата 25.1.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



SergeCpp, спасибо гляну, кроме того я брал ее с gcc и вроде редактировал и вставлял ссылку, но видно недоредактировал smile

Цитата

Замечу, что FREEBSD.ORG != Microsoft Visual C++ 6.0

100%, только вот беда, а кто сказал что человек на 6-й студии клипает то? И кто сказал что ему ненужно потм будет использовать где-нить еще? Типа Стримс не может быть библиотекой? И тем паче кросс-платформенной?
А окромя того ведь то что в ОС должно быть ядро, к примеру, написано не только у мелкомягких но и у Яблочных и Красноглазых, так что теперь, если я найду про сие ссылку у Яблочных значит мелкомягкие не могут использовать? Бред. ИМХО.
А особенно умиляет то что имя сайта не равно названию среды разработки, даже в стрингах не равно. ТРУ.

Цитата

Использую сам (именно в VC++ 6.0 SP6) и рекомендую использовать #pragma once

Потому что гладиолус? Я тоже юзаю, в данный момент VC++ 6.0 SP6, и рекомендую свой вариант. Священная война начинаетсо?

Открыл ссылки и понял что читать не буду smile Ибо www.gamesfromwithin.com как-то не авторитетно что-ли, ведь на заборе много тоже чего написано и кто сказал что сие есть святой тру? А вот ссылочку на мелкомягких дадите и сие будет уже чего-то весить smile

ЗЫ: Кстати сама студия( Которой вы и пользуетесь ) использует оба варианта одновременно, это  я к святой паранои разработчика. Если честно то всегда, когда классы с нуля делал, всегда использовал только #if !defined #define  теперь возможно буду использовать #pragma once, такая предосторожность лишней не будет smile

Это сообщение отредактировал(а) Nuzur - 25.1.2007, 12:52


--------------------
Never again...
PM MAIL   Вверх
SergeCpp
Дата 25.1.2007, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


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

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



Цитата(Nuzur @  25.1.2007,  14:47 Найти цитируемый пост)
а кто сказал что человек на 6-й студии клипает то

А Вы название темы посмотрите... smile

Цитата(Nuzur @  25.1.2007,  14:47 Найти цитируемый пост)
www.gamesfromwithin.com как-то не авторитетно что-ли

Так там же результаты тестов. Их можно и повторить.

P.S. То, что #if медленнее — логично. Ведь компилятору приходится искать парный (читать файл)

И ещё. Территориальная разнесённость #if и #endif. Нехорошо это. В данном случае — особенно

Самое же главное тут, что #if — это всё-таки workaround в отличие от (хотя и не стандартизованной) once

Вот статья в Wiki — Pragma once

Вот статья в MSDN. Про "obsolete" не упоминается


Это сообщение отредактировал(а) SergeCpp - 25.1.2007, 14:18
PM MAIL WWW ICQ   Вверх
Nuzur
Дата 25.1.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



SergeCpp, кстати, по ссылке на вики есть моя цЫтата smile Ладно я больше не буду отвечать вам, ибо офтоп, просто каждому свое. Точка.


--------------------
Never again...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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