Автоматически обнаружение C зависимости

Если вам нужна только информация об округе, вам не нужно добавлять текст поиска. Вы можете напрямую указать округ = Сан-Диего в своем запросе, как показано ниже. Надеюсь, это поможет.

https://geocoder.api.here.com/6.2/geocode.json?gen=9&app_id=xxxx&app_code=xxxx&county=San%20Diego

Результат:

Relevance   1
MatchLevel  "county"
MatchQuality    
County  1
LocationId  "NT_Vmymhe8uceoG6bTzBwp5pA"
LocationType    "area"
DisplayPosition 
Latitude    33.01981
Longitude   -116.69382
NavigationPosition  
0   
Latitude    33.01981
Longitude   -116.69382
MapView 
TopLeft 
Latitude    33.50534
Longitude   -118.60739
BottomRight 
Latitude    32.53429
Longitude   -116.08098
Address 
Label   "San Diego, CA, United States"
Country "USA"
State   "CA"
County  "San Diego"
AdditionalData  
0   
value   "United States"
key "CountryName"
1   
value   "California"
key "StateName"
2   
value   "San Diego"
key "CountyName"
11
задан Eli Courtwright 15 October 2008 в 14:04
поделиться

5 ответов

То, что я делаю в своем Make-файле,

SRCS=$(wildcard *.c)

depend: $(SRCS)
    gcc -M $(CFLAGS) $(SRCS) >depend

include depend

Это означает, что, если какой-либо из исходных файлов обновляется, зависеть правило будет работать и использовать gcc-M для обновления названного файла, зависят. Это затем включено в make-файл для обеспечения правил зависимости для всех исходных файлов.

Составьте проверку завещания, что файл актуален прежде включая ее, таким образом, это зависит, правило будет работать при необходимости каждый раз, когда Вы работаете, делают без Вас бывший должный сделать, "делают, зависят".

Это выполнит любое время, которое изменил любой файл. Я никогда не находил это проблемой, но если бы у Вас было огромное количество файлов в каталоге, то Вы могли бы найти, что он занял слишком много времени, в этом случае Вы могли попытаться иметь один файл зависимости на исходный файл, как это:

SRCS=$(wildcard *.c)
DEPS=$(SRCS:.c=.dep)

%.dep : %.c
    gcc -M $(CFLAGS) $< >$@

include $(DEPS)

Обратите внимание, что можно использовать - MM вместо-M для не включения системных заголовков.

14
ответ дан 3 December 2019 в 03:54
поделиться

"gcc-M file.c" делает то, в чем Вы нуждаетесь.

5
ответ дан 3 December 2019 в 03:54
поделиться

Альтернатива gcc-M является fastdep. Автор Fastdep сообщает, что fastdep в десять раз быстрее, чем-M gcc. Если проект требует времени к сборке, fastdep может быть достойный внимания.

4
ответ дан 3 December 2019 в 03:54
поделиться

Используйте SCons

$ scons --tree=all
scons: Reading SConscript files ...

scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
+-.
  +-SConstruct
  +-app
  | +-test.o
  | | +-test.c
  | | +-/include/PCI_1149_1.h
  | | +-/include/Pci.h
  | | +-/usr/bin/gcc
  | +-/usr/bin/gcc
  | +-/lib/libpci1149_64.a
  ...
2
ответ дан 3 December 2019 в 03:54
поделиться

В MSVC (2005 и 2008, по крайней мере, возможно другие версии также, но не VC6) можно заставить компилятор говорить Вам все файлы, которые были включены во время компиляции. Вывод является довольно подробным, но завершенным и довольно легким проанализировать человеческими глазами.

В Настройках Проекта перейдите к C/C++> Вкладка "Дополнительно", и переключатель "Шоу Включает", затем восстанавливают Ваш проект с нуля.

1
ответ дан 3 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

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