|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
||||||
Preprocessing evaluation order05.03.2016, 02:37. Показов 2221. Ответов 21
Метки нет (Все метки)
Всем привет!
Известно ли в каком порядке препроцессор обрабатывает файлы проекта? Из случая, который со мной сегодня приключился, выходит, что нет. Попалась некоторая библиотека, в которой базовый класс определялся препроцессорной константой:
Получается в lib.cpp сгенерировался один класс, a в main.cpp уже другой. Понятия не имею как оно слинковалось потом ![]() Верны ли мои домыслы, что порядок препроцессирования также не определен как и порядок раздельной компиляци исходников? При довольно беглом гуглении не нашел подходящих ответов... Спасибо!
0
|
||||||
| 05.03.2016, 02:37 | |
|
Ответы с готовыми решениями:
21
HSQL запрос. Что не так? "from hiberdata.Order order where order.clientId=?" Исправить ошибки Error: nvalid preprocessing directive #std |
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 06.03.2016, 03:45 | ||||
1
|
||||
|
Вездепух
13241 / 6873 / 1827
Регистрация: 18.10.2014
Сообщений: 17,420
|
|||||||
| 06.03.2016, 05:08 | |||||||
|
Стандарт не запрещает компиляторам С++ и Фортран с Бейсиком компилировать, если компилятор не забудет выдать диагностическое сообщение. Но мы тут говорим именно о языке С++ и программах на С++. Ill-formed программы, как и программы на Фортране и Бейсике, программами на С++ не являются и нам в данный момент не интересны. Использовавшийся вами компилятор, в полном соответствии с требованиями стандарта языка, выдал диагностическое сообщение на эту ошибку. Вы его, разумеется, не увидели, потому что забыли отключить фильтрацию диагностических сообщений в онлайн-компиляторе ![]() Еще раз повторю, что этот код является нелегальным в С++, так как грубо и прямо нарушает требования пункта 16.3/2 стандарта языка С++. Все, что я могу вам предложить, это постараться уяснить этот простой факт. И, чтобы избегать подобных конфузов с "скомпиляют все топовые компиляторы" в будущем, постарайтесь запомнить, что если вы собираетесь использовать такие "топовые компиляторы" как GCC и clang для проверки легальности кода, вам придется указывать флаг -pedantic-errors. Пока вы не умеете самостоятельно отличать "невинные" предупреждения от "серьезных" предупреждений, вызванных ошибками в коде, это флаг вам в этом сильно поможет. Флаг -pedantic-errors был введен в эти компиляторы специально для того, чтобы рапортовать нелегальный код через errors, а не через warnings. ![]() (И еще раз: пока вы не научитесь самостоятельно анализировать степень серьезности диагностических сообщений, вам придется использовать флаг -pedantic-errors в GCC и clang. Без этого флага ваши экзерсисы с компиляторами и вытекающие из этого разглагольствования будут иметь разве что юмористическую ценность.) Напоследок, для вашего кода http://coliru.stacked-crooked.... 1f7b3a775c g++ -std=c++14 -pedantic-errors main.cpp && ./a.out main.cpp:4:0: error: "ololo" redefined #define ololo 2 ^ main.cpp:3:0: note: this is the location of the previous definition #define ololo 1 ^
1
|
|||||||
| 06.03.2016, 05:08 | |
|
Function evaluation timed out
STM32 comStick Evaluation Board CodeVisionAVR Evaluation V2.05.3a выдает ошибку Чем отличается Windows 8.1 Enterprise Evaluation? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|