потоку, можно представлять себе приостановленный поток как совокупность адреса той команды, с которой надо будет продолжать вычисления, и данных, которые будут при активизации потока занесены в регистры процессора. Каждому процессу выделяется единое адресное пространство, поэтому все потоки одного процесса имеют доступ к любой глобальной переменной и функции, объявленной внутри процесса. И наоборот, виртуальные адреса разных процессов обычно не проецируются на одну и ту же область физических адресов памяти. В результате этого никакая машинная команда одного процесса не может получить доступ к данным другого процесса.

В стандартной программе, написанной на языке С или С++, должна присутствовать функция mainO, с которой начинается выполнение задачи. В приложении, работающем под управлением Windows, имеется аналогичная функция WinMain(), синтаксис которой приведен ниже:

int WinMain(HINSTANCE hlnstance.HINSTANCE PredWyzow.LPSTR.int Oknlcon)

При создании процесса всегда создается и его единственный основной поток, начинающий работу с вызова WinMainC). В проектах, использующих кодировку символов UNICODE, вызывается функция _tWi nMai n(). При запуске приложения с рабочего стола, из среды разработки или при помощи программы cmd.exe пользователь может параметром Cmd передавать запускаемому приложению командную строку. Если для пуска приложения на рабочем столе создан ярлык, то, щелкнув по нему правой кнопкой мыши, можно вызвать окно свойств (рис. 1.2). При запуске программа получит командную строку, указанную в поле Объект.

Если программа запускается из среды разработки, то командную строку можно задать в свойствах проекта, воспользовавшись командой меню Project ► Property ► Debugging ► CommandArguments.

Для получения аргументов командной строки кроме доступных в языке С имен arge и argv можно обрабатывать непосредственно строку Cmd. Заметим, что в этой строке отсутствует первый параметр, который содержит путь к ЕХЕ-файлу приПараметры функции WinMain

ложения. Получить командную строку с первым параметром можно при помощи функции бе^оттапсЫ пе().


⇐ Предыдущая| |Следующая ⇒