Как просмотреть список функций библиотеки c?

Предполагая, что это крушение ядра, вам нужно получить информацию о дампе ядра, вы можете попробовать использовать консоль ядра ядра: https://wiki.ubuntu.com/Kernel/Netconsole

1
задан 26 December 2013 в 21:28

2 ответа

Какая команда поможет мне перечислить функции библиотеки c?

Вот один из способов перечислить все функции, определенные в стандартной библиотеке C (GNU libc):

nm -D /lib/$(uname -m)-linux-gnu/libc-*.so | grep -vw U | grep -v "_" | cut -d " " -f3

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

Какая команда поможет мне перечислить функции библиотеки c?

Страницы руководства системного вызова:

/usr/share/man/man2

Страницы руководства по функциям библиотеки находятся под:

/usr/share/man/man3
2
ответ дан 24 May 2018 в 13:43

Имеется хороший пакет для отображения заголовка функции C с именем ref. Чтобы узнать больше об этом, см. [F7]. Он имеет хорошую базу данных, где вы можете найти список библиотечных функций C.

Функции перечислены в файле /usr/share/elvis/stubs/ansistub.c. Вы можете напрямую просмотреть его, чтобы увидеть функции, или вы можете их фильтровать по своему усмотрению.

Вы можете использовать следующую большую строку в своем терминале, чтобы просмотреть полный список сразу,

cat /usr/share/elvis/stubs/ansistub.c | grep "^int\|^char\|^void\|^double\|^ldiv_t\|^unsigned\|^type\|^struct\|^FILE\|^size_t\|^time_t\|^long\|^clock\|^mbstowcs\|^div_t" | awk 'NR > 12' | less

Вы получите Output, например

void abort(void)
int abs(int num)
double acos(double cosvalue)
char *asctime(const struct tm *currtime)
double asin(double sinvalue)
void assert(int expression)
int atexit(void(*func)(void))
long int atol(const char *string)

....

Или вы можете скопировать список в файл myCfunction.list с помощью

cat /usr/share/elvis/stubs/ansistub.c | grep "^int\|^char\|^void\|^double\|^ldiv_t\|^unsigned\|^type\|^struct\|^FILE\|^size_t\|^time_t\|^long\|^clock\|^mbstowcs\|^div_t" | awk 'NR > 12' > myCfunction.list

Чтобы использовать его, сначала установите ref, используя следующую команду:

sudo apt-get install elvis-tools
0
ответ дан 24 May 2018 в 13:43

Другие вопросы по тегам:

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