Все ответы выше верны.Единственное, что я хотел бы добавить, будучи новичком на C, это то, что аргумент -l
говорит компилятору связать ваш код с некоторой библиотекой.
Путаница для меня и, вероятно, для других заключается в том, что при вызове -l
плюс имя библиотеки отсутствует пробел.поэтому -lz
, вы ссылаетесь на "z"
Обратите внимание, что эти библиотеки установлены в вашей системе.Либо они пришли с дистрибутивом, который вы используете, либо вы установили с помощью менеджера пакетов, либо скомпилировали из исходного кода (make
, make install
...).Так как это очень простые (и старые) библиотеки APIS, они имеют очень короткие имена.По мере того, как вы прогрессируете и устанавливаете определенные библиотеки в вашей системе, вы видите больше подробных имен, помечающих -l
там.