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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пару вопросов по define 
:(
    Опции темы
Robix
Дата 16.7.2015, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



1-й вопрос
При сборке проекта в Visual Studio получаю предупреждение.
D:\Program\MicrosoftVisualStudio\VC\include\stdint.h(65): warning C4005: 'UINT8_MAX' : macro redefinition
d:\proj\order\..\..\inc\tech.h(112) : see previous definition of 'UINT8_MAX'

Впринципе понятно в чем дело, у меня в файле tech.h
#define UINT8_MAX   255 а в stdint.h тоже самое определение, но с другим значением

Менять tech.h не могу, так как это бибилиотека нужна для проекта. А вот стандартный stdint.h мне не нужен. Но его исключить не получается, так как он видимо через другие стандартные c++
библиотеки, которые я включаю находится.

От этого предупреждения можно избавиться? 

2-й вопрос
Еще вопрос:
В заголовочном файле часто пишут. Я не до конца понял.
#ifndef TECH_H
#define TECH_H

#endif

Можете объяснить что дает #define TECH_H ?
А если я напишу его без #ifndef TECH_H и #endif смысл поменяется?











PM MAIL   Вверх
Guinness
Дата 16.7.2015, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Robix @  16.7.2015,  11:34 Найти цитируемый пост)
От этого предупреждения можно избавиться? 

Сделайте #undef перед своим определением.
Цитата(Robix @  16.7.2015,  11:34 Найти цитируемый пост)
Можете объяснить что дает #define TECH_H ?

Делают это для того, чтобы заголовочный файл не был многократно включён в исходные файлы. Собственно, достаточно убрать эту конструкцию, и, скорее всего, ничего не будет собираться. Насколько я помню, это делалось, когда компиляторы ещё не поддерживали директиву #pragma once.

Это сообщение отредактировал(а) Guinness - 16.7.2015, 11:01
PM MAIL   Вверх
Robix
Дата 16.7.2015, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо. Получилось с undef. Насчет #define в заголовочных файлах тоже кажется понятно smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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