Это легко с grep, учитывая, что они используют хотя бы часть стиля кода GNU, который ставит тип возвращаемой функции в строке над реализацией и что grep может искать шаблоны, которые включают начало токена линии, так как ручной Grep говорит:
Grep manual: каретка^и знак доллара $ являются метасимволы, которые соответственно соответствуют пустой строке в начале и в конце линии. Символы \ < и> соответственно соответствуют пустой строке в начале и конце слова. Символ \ b соответствует пустой строке на краю слова, а \ B соответствует пустой строке, предоставленной , это не на краю слова.
grep "^cvSmooth" -rn .
В -r
опции говорит Grep для поиска рекурсивно так, что она будет искать через все подпапки в пути вы просите его искать.
Опция -n
указывает grep включать номер строки любых совпадений, которые он находит, что может помочь нам сузить то, что мы ищем.
Указатель пути на конце указывает grep для поиска в текущем каталоге.
Это дает мне следующий вывод:
./modules/imgproc/src/smooth.cpp:3514:cvSmooth(const void* srcarr, void* dstarr, int smooth_type,
, который говорит вам, где именно найти реализацию cvSmooth в исходном коде. Вы можете сделать то же самое для остальных функций, которые вы хотите найти.
Научитесь использовать grep, потому что это неоценимо при попытке перейти к исходному коду, особенно к крупным проектам. Кроме того, спасибо авторам openCV за использование этой политики стиля кода, потому что это ДЕЙСТВИТЕЛЬНО помогает, когда grepping!
Посетите их репозиторий Github и посмотрите сами. Вот ссылка: https://github.com/Itseez/opencv/search –
Все в C++, но мне нужен исходный код C. – Saverio
API C теперь устарел, а функции C существуют только для обратной совместимости. Они внутренне называют функции C++. Вам будет лучше изучать новый C++ API. –