Как найти определения в стандартных библиотеках с помощью препроцессора gcc?

Вы можете использовать compgen , которая обычно вызывается при двойном нажатии табуляции.

$ compgen -c c
cls
case
coproc
command_not_found_handle
caller
cd
command
compgen
complete
compopt
continue
clamd
cracklib-check
cpgr
cupsreject
cupsdisable
cupsaccept
cron
cppw
<100's more lines...>

Он также включает встроенные функции оболочки! См. этот вопрос и man compgen .

Обратите внимание, что вывод сортируется по столбцам (что будет делать bash), а не по одной строке. Однако вы можете довольно легко отсортировать вывод по алфавиту.

0
09.08.2019, 18:34
1 ответ

Если бы мы искали определение uint64 в моей 64-битной системе Debian, я бы искал именно эту команду:

echo | gcc -E -xc -include stdint.h -include stddef.h - | grep uint64_t

выходы

typedef unsigned long int uint64_t;

Вероятно, эта команда где-то бродит, но я не смог найти ее неявно.

2
28.01.2020, 02:30

Теги

Похожие вопросы