Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для eva2326
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,518

[gcg/mingw/clang] #pragma message формат вывода сообщений

02.07.2021, 19:30. Показов 5717. Ответов 0

Студворк — интернет-сервис помощи студентам
Всем привет!

Иногда в лог компиляции нужно напечатать какое то сообщение.
И вот тут такая проблема: gcc/mingw/clang печатают слишком много лишнего.
Показывают трасу путей к исходникам, показывают как макросы раскрываются.
Это - полезная информация, когда нужно исправить ошибку.
Но очень мешает для обычного NOTICE сообщения.
Пользовательские сообщения попросту теряются в обилии лишней информации.

На stackoverflow нагуглила такой вариант:


C++
1
2
3
4
5
6
7
8
9
10
11
// -ftrack-macro-expansion=0 -fno-diagnostics-show-caret
 
#define dSTRINGIZE(...) #__VA_ARGS__
#define dSSTRINGIZE(x) dSTRINGIZE(x)
#define dMESSAGE(...)  _Pragma(dSTRINGIZE(message __VA_ARGS__))
 
#ifdef __cplusplus
    dMESSAGE("__cplusplus: " dSSTRINGIZE(__cplusplus)) 
#endif
 
int main(){}
Code
1
2
Warning(s):
183102421/source.cpp:9:5: note: #pragma message: __cplusplus: 201402L
Немного напрягает, что сообщение выводится со статусом "предупреждение", а не как обычное информационное сообщение.
Так же, хотелось бы, что бы компилятор не печатал лишнего.
Как убрать этот фрагмент слева ???
183102421/source.cpp:9:5: note: #pragma message:

Главная же проблема в том, что компилятор по-прежнему дико спаммит трассой файловых путей:

Code
1
2
3
4
5
6
[  8%] Building CXX object CMakeFiles/example.dir/cmake_pch.hxx.gch
In file included from C:/sandbox/example/include/example/example.hpp:10,
                 from C:/sandbox/example/sources/pch.hpp:8,
                 from C:/sandbox/_build/example/ver-0.0.2/mingw810-release-64-static/CMakeFiles/example.dir/cmake_pch.hxx:5,
                 from <command-line>:
C:/sandbox/example/include/example/private/cplusplus.hpp:12:5: note: #pragma message: __cplusplus: 201703L
Моё маленькое сообщение просто теряется в этом мессиве из файловых путей.

Для сравнения, как печатает компилятор Visual Studio:
Code
1
__cplusplus: 201703L
Как сделать так, что бы gcc/mingw/clang тоже не печатали лишнего?
Нужно, что бы напечаталось только и только само сообщение, и ничего более.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.07.2021, 19:30
Ответы с готовыми решениями:

Как заставить Clang использовать MinGW по умолчанию?
Приветствую, форумчане. Я пишу на C++ в среде Windows 10 (x64). В качестве компилятора использую Clang, который в своей работе опирается...

Пытаемся подружить clang 3.6 и Code::Blocks 13.12 + MinGW под Windows 7
Скачал clang. Установил в корень диска С. То есть, путь получился такой: До этого у меня уже был установлен Code::Blocks 13.12 в...

Формат письма Notes и Internet Mail Message
Уважаемые Гуру. Насколько я понял, Вы моя последняя надежда понять что происходит и где копать. Проблема с русской кодировкой при...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2021, 19:30
Помогаю со студенческими работами здесь

The message resource is present but the message is not found in the string/message table
Привет, всем! Я надеюсь, что вы мне поможете ... Извиняюсь если не в ту ветку написал, тут хоть и есть кода немного на C# но...

формат сохранения сообщений
вот например сообщения типа на форуме - есть и 10 знаков а есть и 1000 как правильно в базе хранить такие сообщения ? на...

Формат сообщений Syslog
Написал Syslog-сервис, проверяю на Kiwi Syslog Server, который поддерживает протокол RFC_3164. При передаче сообщения вида &lt;25&gt;Jul 10...

Формат сообщений, отправляемых на адреса Интернета
Здравствуйте! Столкнулся с такой проблемой. В месте вызова стоит настройка: Формат для сообщений, отправляемых на адреса Интернета =...

Какой формат сообщений имеет DHCP?
Какой формат сообщений имеет DHCP? В какую сторону нужно идти это искать? Также хочется узнать про сообщения обнаружения и предложения,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru