27.02.2010, 20:09
предлагаю по возможности не извращаться с пайпами, стандартными входамивыходами и иже с ними и просто грамотно в коде разделить интерфейс и логику - тогда будет возможно из одного и того же кода скомпилить и консольную утилиту и GUI. Всмысле, скажем у нас есть (всё условно) demo.h и demo.cpp с кодом консольной main() - внутри только то что отвечает непосредственно за, скажем обработку аргументов командной строки и запуск уже нужной логики.
Одновременно у нас есть demogui.h и demogui.cpp с кодом GUI-шной main() - внутри только код ответственный за GUI и опять же запуск нужной логики.
Вся логика лежит в отдельных файлах h-cpp - они линкуются и в консольный и в гуишный проект, одни и те же.
По крайней мере так не придётся маяться с синхронизацией двух потоков в GUI - большинство GUI-шных оболочек к консольному софту, имхо, на редкость паршиво работают именно по этой причине %).
Одновременно у нас есть demogui.h и demogui.cpp с кодом GUI-шной main() - внутри только код ответственный за GUI и опять же запуск нужной логики.
Вся логика лежит в отдельных файлах h-cpp - они линкуются и в консольный и в гуишный проект, одни и те же.
По крайней мере так не придётся маяться с синхронизацией двух потоков в GUI - большинство GUI-шных оболочек к консольному софту, имхо, на редкость паршиво работают именно по этой причине %).
Gipat Group