что означает опция команды -lang -lm? - PullRequest
0 голосов
/ 26 августа 2018

Я нашел, что кто-то говорит, что -lm означает соединение с библиотекой математики.
Я хочу выяснить значение, используя build-in help в терминале.
Поэтому я запускаю $ clang --help
Я не нахожу ничего, связанного с -l или -m
Как я могу получить значение -lm с помощью терминала самопомощи?

1 Ответ

0 голосов
/ 26 августа 2018

Флаг -l {name} указывает компоновщику связываться с lib {name}.Так что -lm ссылается на libm, библиотеку c math.Это не флаг компилятору clang, а переданный компоновщику, поэтому вы не найдете его с clang --help или man clang.Если вы запустите clang с флагом --verbose, вы увидите вызов компоновщика (в моем случае /usr/bin/ld) в качестве последнего шага.Запустив man ld или ld --help (или какой компоновщик использует ваша версия clang), вы найдете документацию.Имейте в виду, что не все флаги передаются компоновщику таким образом (-l, вероятно, передается для совместимости с компилятором gcc, как сказано melpomene ).Чтобы убедиться, что параметр передан, используйте параметр -Wl clang.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...