Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
А нету! 05.06.01 11:37 Число просмотров: 728
Автор: prop Статус: Незарегистрированный пользователь
|
> > Собственно, нужно из основной программы создать еще > один > > процесс и > > заслать его в бэкграунд (но так чтобы он глобальную > область > > переменных видел). Я читал, что в WinAPI32 это вроде > > функция > > CreateProcess(...) делает. А вот в 16р не нашел > > чего-то...Может плохо искал. > > для 16-битника - это WinExec, это я помню точно. > но навряд ли он разрешит разделять глобальные переменные, > хотя для 16-бит это не проблема. для этой цели лучше > объявить их в dll-ке. затем использовать маппинг. > но лучше, если тебе всего лишь нужен бакграунд работа, > используй потоки, оды и переменные будут общими. > а подробнее узнай об этом в Help старых версиях С++
Если я правильно помню, fork() порождает копию вызывающего процесса и начинает его выполнение со следующей за fork() команды.
В win16 используется корпоратиная многозадачность - нет ни процессов, ни потоков (в привычном смысле) - есть один процесс и один поток - все остальное - т. наз. задачи, которые получают сообщения, что-то делают, и возвращают управление. Не вернул управление - все остальные таски висят. С глобальными переменными проблем нет - global heap один на всю систему, поэтому указатель действителен во всех задачах.
А если маппинг это CreateFileMapping - то его в Win16 тоже нет.
Может я и наврал чего - давно это было...
|
|
|