Подавить подсказки в компиляторах командной строки Delphi (dcc32.exe и т. д.)

Как подавить подсказки при использовании компиляторов командной строки Delphi? (например, dcc32.exe, dcc64.exe, dcclinux64.exe и т. д.)

Я знаю, что {$HINTS OFF} можно использовать в исходном коде для отключения подсказок, но его область действия локальна и влияет только на код в юните, где он находится. Я бы хотел глобальную опцию, которая влияет на всю компиляцию.

Я также знаю, что при компиляции в IDE можно глобально отключить подсказки в Project Options > Building > Delphi Compiler > Hints and Warnings > Output hints (True/False). Мне понадобится такая же опция в компиляторах командной строки.

Предупреждения можно подавить с помощью опции -W-[WARNING], но есть ли что-то подобное для подсказок?


person Matthias B    schedule 01.04.2021    source источник
comment
Вы пробовали dcc32 myapp -h-?   -  person Andreas Rejbrand    schedule 01.04.2021
comment
Это ведет прямо к правильному ответу - спасибо! (Я просмотрел вывод справки, используя dcc32 -h, но, как сказано в справке, только -H = Выводить подсказки и не включать опции +/- (как -W[+|-|^][warn_id] = Выводить предупреждающие сообщения), такое простое решение мне в голову не приходило, но оно действительно работает: опция -H- подавляет все предупреждения.   -  person Matthias B    schedule 01.04.2021
comment
В качестве примечания: вместо того, чтобы скрывать предупреждения компилятора с помощью параметра компилятора, вам лучше устранить все эти предупреждения, исправив исходный код. Если вы этого не сделаете, однажды или позже они ударят вас. Для меня чистый код = полное отсутствие предупреждений.   -  person fpiette    schedule 02.04.2021
comment
Вы совершенно правы, фпиетта. У нас сейчас просто нет времени. Компиляция выдает около 65 страниц подсказок, и они загромождают журналы нашей непрерывной интеграции и сборок выпусков, и нам нужно быстрое решение. Это не тот путь, который я бы предпочел. Спасибо, что указали на это!   -  person Matthias B    schedule 02.04.2021


Ответы (1)


Запуск DCC32.EXE показывает:

Подсказки управляются с помощью опции -H

Показать подсказки (используйте -H+ или вообще не используйте опцию, так как это поведение по умолчанию):

D:\Tmp\TestHint>"C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\DCC32.EXE" -H+ "D:\Tmp\TestHint\Project1.dpr"
Embarcadero Delphi for Win32 compiler version 33.0
Copyright (c) 1983,2018 Embarcadero Technologies, Inc.
Project1.dpr(11) Hint: H2164 Variable 'Unused' is declared but never used in 'Project1'
Project1.dpr(20)
21 lines, 0.08 seconds, 118868 bytes code, 28648 bytes data.

Скрыть подсказки (используйте -H-):

D:\Tmp\TestHint>"C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\DCC32.EXE" -H- "D:\Tmp\TestHint\Project1.dpr"
Embarcadero Delphi for Win32 compiler version 33.0
Copyright (c) 1983,2018 Embarcadero Technologies, Inc.
Project1.dpr(20)
21 lines, 0.09 seconds, 118868 bytes code, 28648 bytes data.
person Julius Tuskenis    schedule 01.04.2021