0
Я заглянул в исходный код «dpkg-query» и попытался получить список установленных пакетов.Работа с libdpkg в C
Он компилируется, но когда я пытаюсь запустить, я получаю ошибку в функции modstatdb_open().
#define LIBDPKG_VOLATILE_API 1
#include <stdio.h>
#include <unistd.h>
#include <dpkg/macros.h>
#include <dpkg/dpkg.h>
#include <dpkg/dpkg-db.h>
#include <dpkg/pkg-array.h>
#include <dpkg/debug.h>
#include <dpkg/pkg-list.h>
void main()
{
struct pkg_array array;
modstatdb_open(msdbrw_readonly | msdbrw_available_readonly);
pkg_array_init_from_db(&array);
printf("%d\n",array.n_pkgs);
pkg_array_destroy(&array);
modstatdb_shutdown();
}
вина Сегментация (ядро сбрасывали)
Что плохого?
Вы должны вызвать 'standard_startup();' и 'filesdbinit()' 'Перед modstatdb_open()' – LPs
и standard_shutdown(); в конце концов – Adam
Tahnk вы так много. Он работает сейчас. –