Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > linux & qt


Автор: boolean34 17.8.2012, 07:06
всем привет! надо уточнить про кроссплатформенность:
 как я понял линукс - это ядро, и на него накладываются прочие штуки - в результате имеем тот или иной дистрибутив (убунту , дебиан и тд).
 если я напишу приложение с помощью qt , оно будет работать на всех дистрибутивах? т.е. главное, что на официальном сайте заявлено оно под само ядро работает, а там по барабану какой дистрибутив ?

Автор: cutwater 17.8.2012, 08:41
В теории да. На практике же между дистрибутивами имеются незначительные различия. Поэтому если Вы будете использовать исключительно Qt, разница будет сводиться лишь к сборке пакетов под конкретный пакетный менеджер конкретного дистрибутива. В случае использования зависимых от дистрибутива / окружения рабочего стола / прочее. механизмов, Вам придется самому обеспечивать переносимость.

Автор: boolean34 17.8.2012, 10:47
спасибо, а какой есть дистрибутив линукса , который обеспечивает:
- реальное время
- желательно встроенная (место на диске пару мегабайт)
- совместимость qt
- бесплатная лицензия
- разнообразие аппаратной части
- время перезагрузки до 30 секунд

Автор: cutwater 17.8.2012, 12:18
Вы что издеваетесь?

Автор: boolean34 17.8.2012, 12:26
кто скажет?

Автор: Фантом 17.8.2012, 13:08
Цитата(boolean34 @  17.8.2012,  11:47 Найти цитируемый пост)
спасибо, а какой есть дистрибутив линукса , который обеспечивает:
- реальное время

Строго говоря, никакой.

Цитата(boolean34 @  17.8.2012,  11:47 Найти цитируемый пост)
- желательно встроенная (место на диске пару мегабайт)
- совместимость qt

Вместе - не бывает.

В общем, Вы бы написали, что именно хотите получить...

Автор: boolean34 17.8.2012, 13:44
мне надо сделать приложение реального времени (раз в милисекунду приходят данные). разработка ведется на windows, эксплуатация планируется на linux, который бы обеспечивал: 
требуемый отклик; быструю перезагрузку; отсутсвие излишеств типо пасьянсов и тд.
приложение предполагает наличие развитого графического интерфейса + блок обработки данных

Автор: Фантом 17.8.2012, 14:19
Цитата(boolean34 @  17.8.2012,  14:44 Найти цитируемый пост)
требуемый отклик;


Вообще говоря, не обязан. Можно попробовать, но лучше взять что-нибудь вроде QNX (если гарантированное отсутствие задержек принципиально необходимо).

Цитата(boolean34 @  17.8.2012,  14:44 Найти цитируемый пост)
быструю перезагрузку;

Зачем?

Цитата(boolean34 @  17.8.2012,  14:44 Найти цитируемый пост)
отсутсвие излишеств типо пасьянсов и тд.

Это, знаете, из серии "хочу гоночный болид Формулы-1 с зеленой шиной на левом заднем колесе".

Цитата(boolean34 @  17.8.2012,  14:44 Найти цитируемый пост)

приложение предполагает наличие развитого графического интерфейса + блок обработки данных

Интерфейс тоже будет тыкаться раз в миллисекунду? Думаю, что все же нет. А если нет, то зачем пытаться запихать все в одно приложение? Сделайте отдельный блок приема сигналов (который бы занимался только собственно приемом и записью данных) и отдельную программу обработки.  

Автор: bsa 17.8.2012, 20:34
Цитата(Фантом @  17.8.2012,  15:19 Найти цитируемый пост)
Интерфейс тоже будет тыкаться раз в миллисекунду? Думаю, что все же нет. А если нет, то зачем пытаться запихать все в одно приложение? Сделайте отдельный блок приема сигналов (который бы занимался только собственно приемом и записью данных) и отдельную программу обработки.   

полностью поддерживаю. Более того, блок получающий информацию можно вообще сделать на отдельной машине, а машина с GUI просто подключалась бы к ней.

Автор: boolean34 18.8.2012, 08:10
ну так и планируется сделать в виде отдельных процессов. вопрос только в дистрибутиве линукса. на профессиональные ОС РВ нет денег...

Автор: tzirechnoy 18.8.2012, 18:00
Цитата
если я напишу приложение с помощью qt , оно будет работать на всех дистрибутивах?


Нет.

Цитата
т.е. главное, что на официальном сайте заявлено оно под само ядро работает
 

Сильно сомневаюсь, что на офицыальном сайте Qt написано именно это. Но дажэ если так -- это враньё маркетологов.

Цитата
- реальное время


Жёсткое -- никакой. Мягкое -- ну, вроде в montavista в комплекте были патчи. Потом, у тех, кто пишэт эти патчи скорее всего есть дистрибутив. Ну и, надо сказать, что сейчас сам scheduler довольно хорош, giant lock из ядра выпилен, комплект вызовов sched_... по разграничению приоритетов доступен во всех ядрах и более менее работает -- так что на средне-нормальном жэлезе, если не натыкаться на странные вещи типа засыпающего винта и сделать себе mlockall() -- то вполне можно получить время реакцыи меньшэ 100мкс с вероятностью большэ 99.99%.

Цитата
- желательно встроенная (место на диске пару мегабайт)


Хм. Кажэтся, кто-то ставил монтависту на роутеры с такой флэшкой. Но в любом случае -- это рашпиль в руки и долго пилить.
Простите, а у Вас там память на ферритовых сердечниках что-ли?

Цитата
- совместимость qt


С предыдущим пунктом -- невозможно. qt -- это десятки мегабайт в любом случае.

Цитата
- разнообразие аппаратной части


В двух мегабайтах-то?

Цитата
- время перезагрузки до 30 секунд


Хотя требование само по себе, без предъявления аппаратной части безсмысленно -- при двух мегабайтах диска этого, скорее всего, можно будет добиться.








Автор: boolean34 18.8.2012, 20:26
ну че тогда буду пробовать - пока не окунешься так сказать.. всем спасибо!

Автор: kuzulis 19.8.2012, 21:32
ТС, а что за такая специфическая задача, которая требует ОСРВ? И какие данные хотите принимать?

Если это сфера АСУТП - то может проще взять ПЛК и не морочить себе голову?

Есть еще вариант http://oscada.org/ru/.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)