/
githubmirror
/
glibc
Обзор
Документация
Войти
/
githubmirror
/
glibc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
debug/backtrace-tst.c
45 строк
888 B
Ryan S. Arnold
Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).
16 май 2013, 20:32
16 май 2013, 20:32
e054f49
Код
Авторство
О чём код?
#include <execinfo.h> #include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include <stdint.h> static int compare (const void *p1, const void *p2) { void *ba[20]; int n = backtrace (ba, sizeof (ba) / sizeof (ba[0])); if (n != 0) { char **names = backtrace_symbols (ba, n); if (names != NULL) { int i; printf ("called from %s\n", names[0]); for (i = 1; i < n; ++i) printf (" %s\n", names[i]); free (names); } } return *(const uint32_t *) p1 - *(const uint32_t *) p2; } int main (int argc, char *argv[]) { uint32_t arr[20]; size_t cnt; for (cnt = 0; cnt < sizeof (arr) / sizeof (arr[0]); ++cnt) arr[cnt] = random (); qsort (arr, sizeof (arr) / sizeof (arr[0]), sizeof (arr[0]), compare); for (cnt = 0; cnt < sizeof (arr) / sizeof (arr[0]); ++cnt) printf ("%" PRIx32 "\n", arr[cnt]); return 0; }