Аргументы, которые вы сравниваете, несколько отличаются друг от друга.
Аргумент -fPIC
является аргументом в целом, вы не можете просто заменить часть PIC
любой другой строкой и ожидать еена работу.
Аргументы (обычно это имя файла) имеют в значительной степени произвольную форму, поэтому существует разделение.
Существуют промежуточные аргументы, например, -march=...
, где ...
может бытьзаполняется из набора известных значений. В некоторых программах и для некоторых опций =
заменяется пробелом. Примером этого является параметр -o
, который устанавливает имя выходного файла, например, gcc
, который используется следующим образом:
gcc main.cpp -o output
Таким образом, согласованность оставляет желать лучшего в любом направлении, на которое вы смотрите.
Большинство интерфейсов даже не соответствуют Соглашениям POSIX :