В дополнение к man gcc
, который должен быть первым пунктом для вопросов по любой команде, вы также можете попробовать почти стандартную опцию --help
.Даже для команд, которые его не поддерживают, неподдерживаемый параметр обычно приводит к выводу ошибки, содержащей информацию об использовании, которая должна указывать на подобный параметр.В этом случае gcc отобразит краткую (для gcc длиной всего около 50 строк) справочную сводку, в которой перечислено небольшое количество опций, которые понятны самой программе gcc, а не переданы ее компонентным программам.После описания самой опции --help
в нем перечислены --target-help
и -v --help
как способы получения дополнительной информации о целевой архитектуре и компонентных программах.
Моя установка MinGW GCC 3.4.5 создает больше1200 строк вывода из gcc -v --help
в Windows XP.Я почти уверен, что в других установках это не намного меньше.
Также было бы неплохо прочитать официальное руководство для GCC .Также полезно прочитать документацию для компоновщика (ld
) и ассемблера (часто gas
или просто as
, но это может быть также и какой-то специфичный для платформы ассемблер);кроме платформенного ассемблера, они задокументированы как часть коллекции binutils
.
Общее знакомство со стилем командной строки инструментов Unix также полезно.Идея о том, что значение односимвольной опции не может быть отделено от имени опции, является соглашением, которое восходит, по сути, к тому, что делает Unix.Современное соглашение (обнародованное GNU) о том, что многосимвольные имена опций вводятся --
вместо просто -
, подразумевает, что -lm
может быть синонимом -l m
(или пары опций -l -m
в некоторыхусловности, но это не относится к gcc
), но, вероятно, это не единственный параметр с именем -lm
.Вы увидите похожий шаблон с параметрами -f
, которые управляют определенными оптимизациями, или параметрами -W
, которые управляют предупреждениями, например.