GCC хранит то, что он генерирует везде, где Вы (или в этом случае, Make-файл) говорите его (с -o
выходная опция). Это не делает кэширования результата компиляции отдельно.
То, что делает неравнодушным, перекомпилировало возможный, сам Make-файл. Это - ряд целей (исполняемый файл, объектные файлы, возможно другие вещи) с тем, что они зависят от и правила генерировать цель от этих зависимостей.
make
взгляды на все, что должно быть создано путем оценки цепочек зависимости и восстановления всей цели, которые или еще не существуют или имеют зависимости, которые более свежи, чем цель.
Например, скажем, у Вас есть этот простой Make-файл:
foo.o: foo.c foo.h
gcc -o foo.o -c foo.c
foo: foo.o
gcc -o foo foo.o
Если Вы вызываете make foo
, это посмотрит на Make-файл, видеть это foo
зависит от foo.o
. Таким образом, это ищет foo.o
, и видит, что это зависит от обоих foo.c
и foo.h
. Если foo.o
является более старым затем или этих двух файлов, или если foo.o
не существует, это выполняет строку компиляции gcc -o foo.o -c foo.c
, который генерирует foo.o
.
Если Вы повторно выполняетесь make foo
право после этого, foo.o
будет более новым и, чем файл C и, чем заголовок, таким образом, make
не перекомпилирует foo.o
, и пропустите к соединению заключительного исполняемого файла (если это необходимо - это могло бы просто сказать, что ничто не должно быть сделано).
Записи SRV обычно имеют следующую структуру:
_service._protocol.dns-domain-name
Например, Microsoft AD для своей работы полагается на LDAP и Kerberos. Поэтому для рекламы этих служб в домене DNS, представляющем домен AD (допустим, example.com - это наш домен), создаются следующие SRV-записи:
_kerberos._tcp.example.com
_ldap._tcp.example.com
Итак, на самом деле вы должны выполнить следующую команду:
host -t srv _ldap._tcp.zeus.company.com
Для более подробного объяснения того, как работают SRV-записи, смотрите здесь: http://en.wikipedia.org/wiki/SRV_record
Полный список и объяснение записей SRV DNS ActiveDirectory смотрите на этой странице: http://technet.microsoft.com/en-us/library/cc961719.aspx
А вот пример успешного запроса сервера Microsoft Key Management Server с помощью команды host:
rouben@BeagleBoard-Black:~$ host -t srv _vlmcs._tcp.it.cornell.edu
_vlmcs._tcp.it.cornell.edu has SRV record 20 0 1688 kms02.cit.cornell.edu.
_vlmcs._tcp.it.cornell.edu has SRV record 10 0 1688 kms01.cit.cornell.edu.
rouben@BeagleBoard-Black:~$
В домене AD типичные служебные записи, записи SRV, публикуемые в DNS, указывают на серверы LDAP и Kerberos.
Они позволяют использовать DNS для обнаружения, поэтому вам не нужно настраивать явные имена хостов для использования служб LDAP и Kerberos, что дает вам больше гибкости при добавлении и удалении серверов в топологии AD.
Вы найдете серверы LDAP и Kerberos в домене AD
, выполнив поиск _ldap._tcp.
и _kerberos._tcp.
SRV записи. например
host -t srv _ldap._tcp.domain.com
host -t srv _kerberos._tcp.domain.com
Если zeus.domain.com является единственным сервером каталогов AD, вы ожидаете следующего результата:
_ldap._tcp.domain.com SRV record location:
priority = 0
weight = 100
port = 389
srv hostname = zeus.domain.com
AFAIK обычно никакие SRV-записи не добавляются для имен хостов реальных контроллеров домена, поэтому ожидается, что команда host в вашем вопросе ничего не найду.
Если вы можете преобразовать имя хоста zeus.domain.com в фактический IP-адрес этого сервера AD, то ваш DNS работает достаточно хорошо, чтобы подключиться к домену AD. т.е. простой хост zeus.domain.com
должен работать.
Ошибка заключается в использовании фактического имени хоста сервера AD. В этом нет необходимости, вам просто нужно указать «имена служб AD» вместе с вашим доменным именем.
_kerberos._tcp
_ldap._tcp
$ host -t srv _ldap._tcp.mydom.com
_ldap._tcp.mydom.com has SRV record 0 100 389 ad1.mydom.com.
_ldap._tcp.mydom.com has SRV record 0 100 389 ad2.mydom.com.
_ldap._tcp.mydom.com has SRV record 0 100 389 ad3.mydom.com.
Где мой домен - mydom.com
, а мои серверы AD имеют имена ad1 - ad3.
Эти записи обычно имеют следующую форму ( из википедии ):
_service._proto.name. TTL class SRV priority weight port target.