Никто не подскажет, нет ли для С++ какая-нибудь тулза для
иследования исходников? Если конкретно, требуется получать
список всех объявлений переменной заданного класса в большой
куче исходников и получения всех вызовов методов (как
статических так и нет) для всех объектов данного класса. Так же
хорошо бы уметь получать карту вызовов методов — кто кого
вызывает и т.п.
Исходников и объявлений объектов очень много — поэтому поискать
грепом и просмотреть результаты глазами не помогает —
исходников сотни мегов, если не больше гига.
Да, требуется что бы она работала под Unix — конретно,
под солярой — т.е. вероятно, должна быть в исходниках.
Помнится мне, что-то такое было GNU-тое, но сходу не нашел.
Пока выхожу из положения тем, что написал скрипт на перле —
нехилый такой скрипт получился, но он, понятно, не совершенен
— так как писать полноценный парсер C++ как-то обламывает.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте dmz, Вы писали:
dmz>Никто не подскажет, нет ли для С++ какая-нибудь тулза для dmz>иследования исходников?
Я время от времени пользуюсь вот этим продуктом:
"Understand for C++" http://www.scitools.com
Это коммерческий продукт, но есть trial version, работает хорошо, быстро и надежно, все просто.
Можно создать базу данных по своему проекту и потом с помощью простой библиотеки манипулировать с объектами проекта из своей програмки. Есть там версии и для *nix-ов, но я под win*-ами пользую.
Здравствуйте dmz, Вы писали:
dmz>Приветствую!
dmz>Да, требуется что бы она работала под Unix — конретно, dmz>под солярой — т.е. вероятно, должна быть в исходниках.
Если под соляркой, то, скорее всего, у тебя должен быть доступ к SUN Workshop, а в нем есть Source Browser, который собирает информацию на основе компиляции, что гораздо круче, чем просто парсить код как текст.
Продукт не суперудобный в использовании, но ищет хорошо.
J>Если под соляркой, то, скорее всего, у тебя должен быть доступ к SUN Workshop, J>а в нем есть Source Browser, который собирает информацию на основе компиляции, J>что гораздо круче, чем просто парсить код как текст. J>Продукт не суперудобный в использовании, но ищет хорошо.
Да, в результате им все и кончилось. Действительно есть.
Интерфейс конечно... мда... Закушались мы под виндами,
не знаем правды как люди под никсами живут.
Здравствуйте jazzer, Вы писали:
.
J>Если под соляркой, то, скорее всего, у тебя должен быть доступ к SUN Workshop, J>а в нем есть Source Browser, который собирает информацию на основе компиляции, J>что гораздо круче, чем просто парсить код как текст. J>Продукт не суперудобный в использовании, но ищет хорошо.
Здравствуйте dmz, Вы писали:
dmz>Здравствуйте jazzer, Вы писали: dmz>.
J>>Если под соляркой, то, скорее всего, у тебя должен быть доступ к SUN Workshop, J>>а в нем есть Source Browser, который собирает информацию на основе компиляции, J>>что гораздо круче, чем просто парсить код как текст. J>>Продукт не суперудобный в использовании, но ищет хорошо.
dmz>Мог бы и голосом сказать :))))
Здравствуйте, nErv, Вы писали:
E>Я время от времени пользуюсь вот этим продуктом: E> "Understand for C++" E>http://www.scitools.com
E>Это коммерческий продукт, но есть trial version, работает хорошо, быстро и надежно, все просто.
Скормил упомянутой тулзе сорцы объёмом около мегабайта. Предварительный анализ занял больше часа (Source Insight парсит порядка 5ти минут). В дальнейшем может думать несколько минут при каждом действии. Это особенность программы у меня руки кривые?
Спасибо за Ваши мнения.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, gear nuke, Вы писали:
GN>Здравствуйте, nErv, Вы писали:
E>>Я время от времени пользуюсь вот этим продуктом: E>> "Understand for C++" E>>http://www.scitools.com
E>>Это коммерческий продукт, но есть trial version, работает хорошо, быстро и надежно, все просто.
GN>Скормил упомянутой тулзе сорцы объёмом около мегабайта. Предварительный анализ занял больше часа (Source Insight парсит порядка 5ти минут). В дальнейшем может думать несколько минут при каждом действии. Это особенность программы у меня руки кривые?
Прошу прощения за флуд, правильно — гигабайт. До сих пор после Спектрума постоянно забываю про три последних нуля .
GN>Спасибо за Ваши мнения.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, gear nuke, Вы писали:
GN>>Скормил упомянутой тулзе сорцы объёмом около мегабайта. Предварительный анализ занял больше часа (Source Insight парсит порядка 5ти минут). В дальнейшем может думать несколько минут при каждом действии. Это особенность программы у меня руки кривые?
GN>Прошу прощения за флуд, правильно — гигабайт. До сих пор после Спектрума постоянно забываю про три последних нуля .
Что это за проект такой в котором гигабайт исходников (около 30 миллионов строк кода)?.
Здравствуйте, Алексей.
GN>>>Скормил упомянутой тулзе сорцы объёмом около мегабайта. Предварительный анализ занял больше часа (Source Insight парсит порядка 5ти минут). В дальнейшем может думать несколько минут при каждом действии. Это особенность программы у меня руки кривые?
GN>>Прошу прощения за флуд, правильно — гигабайт. До сих пор после Спектрума постоянно забываю про три последних нуля .
А>Что это за проект такой в котором гигабайт исходников (около 30 миллионов строк кода)?.
Мда, в расчёты закралась ошибка — размер посчитан вместе с *.udc файлом (его создал Understand).
Это одна из ОС. Количество строк — порядка 10 миллионов.
Взглянув на код в отладчике, пришёл к выводу, что авторы забыли включить (хоть какуюто!) оптимизацию .
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth