Если я правильно помню, разница возникает с опцией, которая допускает что-то вроде -X=Y
(где «Y» может быть, например, число). Значение по умолчанию - это то, что вы получаете, если пользователь не ввел -X
в командной строке. Неявное значение - это то, что вы получаете, если пользователь вводит -X
в командной строке без указания значения.
Рассмотрим, например, gcc, который поддерживает уровни оптимизации от 0 до 3 (IIRC). Если вы вообще не указываете -O
, по умолчанию используется -O0
(т.е. оптимизация отключена). Если вы укажете -O
(без номера), вы получите неявное значение, эквивалентное -O1
. Вы также можете указать -O1
явно, или вы можете указать -O2
или -O3
.