http://www.oaoontk.ru/dlib.tgz
http://www.oaoontk.ru/silent_bob.tgz
Кто пользует ctags или cscope тому понравится Должно.
DLib мона пользовать отдельно. Там один DFork — это такой «кадр»
Ниже — про Боб’а…
«Молчаливый Боб»
«Silent Bob»
Эта программа предназначена для программистов, которые работают с очень большим («жирным») «Си» кодом.
Поддержка «Си++» пока минимальна. Первоначально программа писалась как обертка cscope для построения
дерева вызовов (оригинальная версия доступна с помощью опции «-o»). Сейчас использование cscope
сведено к минимуму (только построение обратных call-tree работает с ним)
На данный момент программа позволяет :
1. Создавать файл «tags», по аналогии с ctags. Плюсы по сравнению с ctags это _другой подход_
в поиске символов. На данный момент программа «Молчаливый Боб», в отличие от «ctags» игнорирует переменные
объявленные в структурах и параметры функций. Корректно работает с исходниками netbsd. Так же ищутся
все глобальные переменные. (типично «const int a = (100/10)», переменная «a» будет найдена).
Предопределения структур и extern’ы игнорируются. Создание файлов тэга выполняется очень просто
$ silent_bob --make-ctags
все файлы «c», «cc», «h», «cpp» в каталоге будут обработаны (порядка 30с для ядра линукс).
2. Выбирать (и выдавать в gvim) необходимые тэги.
(к примеру «$ silent_bob sys_mount file_operations --tags --gvim»).
Могут испльзоваться базы тэгов ctags или cscope.
3. Строить прямое и обратное деревья вызовов. Для построения обратного дерева используется cscope (в данной
версии программы «Silent Bob»).
4. Выводить списки символов (переменная/typedef’s/extern’s/функция) из указанных файлов (в читабельном виде).
5. Выбирать все структуры из указанных файлов.
6. Приводить в читабельный вид (похоже на indent, но без всех комментариев). Обратгная функция тоже присутствует.
(«--the-tt», вообще — то это Си препроцессор, но может использоваться и в этих целях)
Все функции программы тестировались на некотором количестве исходных текстов (включая исходники
ядер Линукс и NetBSD).
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
http://www.oaoontk.ru/gc/inotifyd.c
И вот это. (инструкция в самом файле. Програмка для слежения за файлами (на основе kernel’овского INOTIFY)