crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Гость_Артем_*
сообщение 6.11.2012, 14:00
Сообщение #1





Гости








    


Здравствуйте, уважаемые форумчане.

Есть задача написать кросплатформенную динамическую библиотеку, внутри которой задействованы многопоточность и сетевые взаимодействия. Конечно, qt привлекает своим функционалом, стабильностью, легкостью разработки и тд. Перечислять плюсы можно долго. Однако разрабатываемая бибилиотека должна линковаться к любым приложениям, независимо от того используют ли они qt или нет.

И в этом загводка. Для работы Qt требуется объект QApplication или QCoreApplication, которые создают петлю событий, обрабатывают события от ОС и др источников, запускают обработку очереди событий и тд. Этот объект создается в main(). Если приложение, основано на qt, то все в порядке. А если нет.. Где его создавать и возможно ли это? Можно ли сделать такую библиотеку?

Заранее спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 6.11.2012, 21:53
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Гость_Артем_* @ 6.11.2012, 15:00) *
Если приложение, основано на qt, то все в порядке. А если нет.. Где его создавать и возможно ли это? Можно ли сделать такую библиотеку?
Для полноценной работы всего что унаследовано от QObject нужна петля событий, которая создаётся при вызове QApplication::exec() или QCoreApplication::exec(). Можно попробовать создавать локальную петлю при помощи QEventLoop. Но на мой взгляд, если вы и получите желаемый результат, выглядеть это будет не очень красиво. Лучше выбрать другую кроссплатформенную библиотеку, например boost.

P.S. Более того, просто без создания экземпляра QCoreApplication некоторые части Qt не работают так как ожидается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 16.7.2025, 1:35