Как мне найти информацию о классе в сложном коде C ?

#c #oop #visual-studio-code

#c #ооп #visual-studio-code

Вопрос:

Я пытаюсь понять сложный набор файлов .cpp / .h, которые собраны в физический код. Внутри одного .cpp-файла есть перегруженный оператор вызова функции (), который читает:

 void IonizationTunnel::operator()(..., Patch *patch, ...) {
    ...
    ...
    double ran_p;
    ran_p = patch -> rand_ -> uniform();
}
 

Я хочу проверить, что делает uniform() (т.Е. Выдает числа между 0 и 1 или между другими значениями).

Я перешел к Patch.cpp и нашел это:

 rand_ = new Random(params.random_seed);
 

Файл Patch.h содержит:

 Random * rand_;
 

Каков метод идентификации информации об этом случайном классе или любом другом классе, который я не могу найти его реализацию между сотнями файлов .cpp / .h и десятками тысяч строк кода?

Я использую VisualStudioCode с добавлением WLS1 (т. Е. Для просмотра / редактирования файлов в моем приложении WSL1, загруженном из MicrosoftStore).

Спасибо!

Комментарии:

1. Нет Random.cpp или случайный файл.h. — Какой бы инструмент вы ни использовали, он должен сообщить вам, где он находится. Необходимость предполагать, где он находится, сводит на нет всю цель использования такого инструмента.

2. Дорогой Пол, я отредактировал вопрос. Я нашел с помощью терминального поиска файл с именем Random.h. Я нашел метод uniform(), определенный и реализованный там. Вопрос остается актуальным: есть ли какой-либо другой способ поиска такого класса вместо ручного поиска Random.h/Random.cpp ? Спасибо!

3. Ваше редактирование не меняет того факта, что инструменты поиска такого типа должны привести вас непосредственно к тому месту, где определена функция, переменная, что угодно. Вам не нужно выполнять поиск самостоятельно. Например, Intellisense в Visual Studio приведет вас непосредственно к определению / объявлению, если оно является частью вашего проекта.

4. code.visualstudio.com/docs/editor/…

5. Типичным решением является использование реальной IDE 😉 Visual Studio ( не VS Code) имеет IntelliSense, который позволяет вам перемещаться между функциями, используя либо клавишу F12 с курсором на имени функции, либо щелчок левой кнопкой мыши с помощью Ctrl.

Ответ №1:

Если вы используете Atom, вы можете попробовать нажать «Найти», затем «Найти в проекте», а затем попробовать выражение «Random» или «class Random» или «struct Random».

Другие IDE должны иметь аналогичные функциональные возможности (см. Комментарии к вопросу).