Эти параметры из функции/метода описывают Вам значения, которые она использует для вычисления ее результата.
Эти аргументы из значений, присвоенных этим параметрам во время конкретного вызова функции/метода.
GCC позволяет вам декорировать переменные, функции и методы с помощью __ attribute __ ((deprecated))
, что вызовет предупреждение на всех сайтах вызова (кроме -Wno -deprecated-declrations
дано).
class A {
public:
A() __attribute__((deprecated)) {}
};
int main() {
A a;
}
$ g++ test.c test.cc: In function ‘int main()’: test.cc:6: warning: ‘A::A()’ is deprecated (declared at test.cc:3)
Eclipse может делать это без каких-либо плагинов. Это может быть полезным инструментом для подобных вещей, даже если вы не хотите использовать его в повседневном редакторе.
Вы также можете использовать встроенную поддержку рефакторинга Eclipse для переименования перегруженных функций, чтобы они больше не были перегружены. Eclipse также полностью кроссплатформенный; вы можете использовать такие функции, как индексатор, ссылки для поиска и рефакторинг, даже для проектов, которые поддерживаются и создаются в других IDE.
• встроенная поддержка рефакторинга для переименования перегруженных функций, чтобы они больше не были перегружены. Eclipse также полностью кроссплатформенный; вы можете использовать такие функции, как индексатор, ссылки для поиска и рефакторинг, даже для проектов, которые поддерживаются и создаются в других IDE. • встроенная поддержка рефакторинга для переименования перегруженных функций, чтобы они больше не были перегружены. Eclipse также полностью кроссплатформенный; вы можете использовать такие функции, как индексатор, поисковые ссылки и рефакторинг, даже для проектов, которые поддерживаются и создаются в других IDE.Один из вариантов - запустить весь проект с помощью такой программы, как Cscope . Что, по сути, анализирует весь исходный код вашего проекта и создает базу данных, которая позволяет легко искать такие вещи, как все вызывающие функции, все ссылки и т. Д.
Я знаю, что это работает довольно хорошо для C, и они утверждают, что это работает прилично для C ++. KScope - это интерфейс для него с графическим интерфейсом KDE.
Я думаю, что вам нужно посмотреть на граф вызовов. См. этот вопрос , где есть несколько хороших советов, как это сделать.
Для всех, кто хочет сделать это в Visual Studio под Windows ....
Visual Assist действительно хорош. Это очень помогает во многих рефакторингах C ++, графах вызовов, переименовании, автоматическом создании определений заголовков или методах генерации из определений и т.д. 114408]
Я так и делаю. Если ваш код находится в едином месте, то «grep» (или комбинация find | grep) тоже может помочь.
Один недостаток: этот метод очень часто пропускает экземпляры, которые условно не скомпилированы в вашу текущую конфигурацию. Если ваш код использует #ifdefs для поддержки нескольких конфигураций, внимательный человек попытается скомпилировать каждую конфигурацию, чтобы поймать все экземпляры.
Этот плагин для Eclipse может быть правильным инструментом: CallGraph View
Если вы позволите Eclipse CDT проиндексировать вашу исходную базу, тогда вы сможете просмотреть иерархию вызовов для любой функции и даже выполнить некоторый рефакторинг.
Вы можно загрузить IDE Eclipse для разработчиков C / C ++ (надеюсь, вы сможете найти порт для своего конкретного * NIX) и следовать их инструкциям , чтобы начать работу.
В Visual Studio щелкните правой кнопкой мыши имя функции и выберите «Вызов браузера» > Показать график вызывающих
Затем в окне дисплея должна быть папка под названием «Вызов функции», которая содержит все места, которые вызывают эту функцию, каждое из которых вы можете дважды щелкнуть, чтобы перейти к ним в коде.