Переносимое имя компилятора C++ (и компоновщика)

arp -na | grep $(virsh domiflist VM01 | tail -n +3 | awk '{print$5}' | sed '/^$/d') | cut -c 4-17

Это работает хорошо для меня.

Чтобы сделать кеш в arp,

IP=`nmap -sn '192.168.200.*' | grep 'Nmap scan' | awk '{print$5}'` ; for i in $IP ; do ping $i -c 1 ; done
1
26.05.2021, 18:55
2 ответа

Что касается Linux, то большинство файлов Makefile, которые я видел за последние два десятилетия, не используют ничего, кроме gcc/ g++. Когда кто-то хочет использовать настоящий компоновщик, а не GCC, он обычно указывает ld. Я видел cc, может быть, один раз.

Большинство дистрибутивов Linux предоставляют символическую ссылку с ccна gcc, но они не будут доступны, если вы удалите GCC и установите вместо него clang.

Не знаю, является ли он портативным, например. FreeBSD недавно перешла на Clang/LVM, другие BSD продолжают использовать GCC, Mac OS также использует Clang. У Android есть собственный набор инструментов.

Я не пользовался никакими другими Unix-системами, так что без комментариев.

Каков ваш вариант использования? Пожалуйста, отредактируйте свой вопрос и предоставьте более подробную информацию.

0
28.07.2021, 11:29

Передний конец компилятора POSIX C -теперь c99; ccшироко доступен, но не гарантируется. POSIX не определяет ничего, связанного с C++ -, поэтому вы не найдете там стандартизированной команды для вызова компилятора и компоновщика C++.

Общепринятая практика (см., например, GNU Make)— полагаться на переменные CCи CXX. В случае GNU значения по умолчанию для них — ccи g++соответственно; BSD, как правило, используют ccи c++(, см., например, конфигурацию OpenBSD). Доступ к компоновщику осуществляется через драйвер компилятора, а не вызывается явно.

3
28.07.2021, 11:29

Теги

Похожие вопросы