QNX.ORG.RU

Разработка => Программирование под QNX => Тема начата: ia от Июля 10, 2017, 09:14:16 am



Название: функция shutdown_system()
Отправлено: ia от Июля 10, 2017, 09:14:16 am
Проект на С++ для QNX6.5,
компилятор i486-pc-nto-qnx6.5.0-gcc-4.4.2

Хочу завершить работу системы путем вызова shutdown_system().
Компилятор выдает ошибку,
потому что в <sys/shutdown.h> находится описание структуры

typedef struct
{
    uint64_t start_time;
    pid_t pid;
    int8_t class;
    uint8_t padding[3];
    char *name;
} ProcessInfo_t;

Обратите внимание на поле int8_t class.

Можно ли побороть?


Название: Re: функция shutdown_system()
Отправлено: Dark от Июля 10, 2017, 10:25:32 am
Можно ли побороть?

Естественно. Используйте Си.


Название: Re: функция shutdown_system()
Отправлено: ia от Июля 10, 2017, 11:02:58 am
Да я обычно на Си и работаю.
К сожалению, не в этом проекте.

Можно переименовать поле, например, в class1.
Но не хочется править системные h-файлы.

Меня смущает, что разработчики так неаккуратно выбрали идентификатор.


Название: Re: функция shutdown_system()
Отправлено: darkelf от Июля 10, 2017, 12:42:52 pm
Да я обычно на Си и работаю.
К сожалению, не в этом проекте.

Можно переименовать поле, например, в class1.
Но не хочется править системные h-файлы.

Меня смущает, что разработчики так неаккуратно выбрали идентификатор.
как вариант - сделайте отдельный C-шный файл, в котором будет включаться этот заголовочный файл и в котором будет Ваша функция, которая вызывает shutdown_system().


Название: Re: функция shutdown_system()
Отправлено: da-nie от Июля 10, 2017, 12:57:13 pm
А вы вызовите shutdown now через system.


Название: Re: функция shutdown_system()
Отправлено: ia от Июля 10, 2017, 07:19:01 pm
Будете смеяться, но у меня и system() проблемы.
Посмотрите мое соседнее сообщение.


Название: Re: функция shutdown_system()
Отправлено: mike от Июля 11, 2017, 01:19:51 pm
сделать обёртку типа my_shutdown() которую собить С