Russian Qt Forum

Qt => Вопросы новичков => Тема начата: BIS от Сентябрь 23, 2016, 09:48



Название: Обработка системного прерывания в QT-приложении под linux
Отправлено: BIS от Сентябрь 23, 2016, 09:48
Нужно обработать системное рперывание в консольном QT-приложении под linux. (QT.5.5.0)
В Qt не обнаружила класса для обработки прерываний. Хочу воспользоваться стандартными функциями Linux (request_irq(..), free_irq(...), synchronize_irq(...) ). Далее делаю для них
#include <linux/module.h>
#include <linux/init.h>
#include <linux/interrupt.h>
В файле проекта .pro прописываю для своей версии ядра
INCLUDEPATH +=  /lib/modules/3.19.0-69-generic/build/include
т.к. указанные выше хедеры лежат ф каталогах для соотв. версии ядра. При компиляции получаю
asm/linkage.h : no such file or directory
Нашла этот файл в /lib/modules/3.19.0-69-generic/build/include/asm-generic
Как с этим бороться?


Название: Re: Обработка системного прерывания в QT-приложении под linux
Отправлено: Old от Сентябрь 23, 2016, 10:02
Что бы обрабатывать прерывания нужно писать модуль ядра.
Из userspace приложения нельзя обрабатывать системные прерывания.