Eclipse имеет два индексатора C/C++ (быстрый и полный): каково различие?

BartonJs дал ответ в комментарии (спасибо BartonJs!):

пропустите параметр --certfile:

OpenSsl Pkcs12 -export -nokeys
               -name some friendly name
               -inkey myPrivateKey.Key^
               -in myCertificate.crt^
               -out myCertificate.P12
  • nokeys: пропустите пароль PEM
  • name: понятное имя, которое будет отображаться в понятном для столбца имени winstore
  • inkey и in является сертификатом ввода с его закрытым ключом
  • out - это имя файл для производства.

После импорта в windstore (команда: certlm.msc), он правильно говорит:

  • Выдан:
  • Выдан:
  • [117 ] Срок годности
  • Назначение
  • Дружественное имя:
13
задан Rabarberski 18 April 2009 в 17:49
поделиться

3 ответа

Вот выдержка из страницы CDT, описывающая их анализ и индексацию ( CDT / designs / Overview of Parsing ). Это дает довольно хорошее описание того, в чем заключаются различия и где может работать быстрый индексатор:

Разрешение синтаксического анализа и привязки является медленный процесс, это проблема потому что пользователь ожидает редактирования кода такие функции, как содержание помогают быть быстро. По этой причине CDT магазины обязательная информация на диске Кэш называется «индекс» или «ПДОМ» (Объектная модель сохраненного документа) в чтобы иметь возможность предоставлять функции которые быстро отвечают на запросы пользователей.

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

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

Когда заголовочный файл включен в Исходный файл подлежит любому макросы, которые были определены при этом точка. Некоторые заголовки библиотеки используют макросы в сочетании с препроцессором условные (#ifdefs) частично включите заголовочный файл. Иногда такие заголовочный файл включен более один раз в проекте, если макросы, которые заголовок зависит от разных каждый раз, когда заголовок включен, то разные части заголовка могут быть включены в разные исходные файлы. Ни один индексатор не будет точным в этот сценарий, потому что он будет только индексировать заголовок в первый раз встречено.

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

Каждый проект имеет один PDOM связано с этим. ПДОМ хранится на диске в виде плоского двоичного файла. индексатор будет индексировать только заголовки, которые включены исходные файлы, так что если в проекте есть файл .h не включен ни в один .c или файл .cpp, то обычно не получится индексируются. Однако есть предпочтение настройка для индексации всех файлов в проект.

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

Я считаю, что он всегда анализирует любые найденные / включенные файлы без «кэширования». Причина в том, что содержимое файлов может зависеть от определений препроцессора, поэтому оно всегда обрабатывается повторно. Быстрый анализатор предполагает, что ничего не изменилось с тех пор, как файл был впервые обнаружен.

(но я могу ошибаться)

1
ответ дан 2 December 2019 в 00:03
поделиться

Кто-нибудь знает, какова точная разница между этими двумя?

По моему опыту, около 32 МБ кучи.

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

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