Новые книги

The tutorials start with the most basic Windows program, the windows equivalent of "hello world!", Winnie. Then we move on to a more Generic program, which serves as a skeleton for a simple Windows application. Then we discuss various Controls. Using these controls one can build a complete dialog-based application, whose main window is a dialog. We are then ready to discuss a Generic Dialog, a framework with which one can quickly build specific dialogs.

To do some simple graphics one needs a Canvas object. You use Pens and Brushes to paint on the canvas.

More advanced topics include programming with Threads with a practical example of a Folder Watcher — a program that watches directories for changes.

Modern windows programming requires some knowledge of the Shell API, which leads us to the discussion of OLE and COM. We show how one can encapsulate OLE in C++ to create Smart OLE. OLE is also used in Automation, which lets your application talk to other applications.

Controls are nothing but specialized windows. You can easily create your own controls, as evidenced by the Splitter Bar tutorial.

For graphics programmer, we give a short introduction on using Bitmaps for animation and a more advanced tutorial on using Direct Draw.
В учебном пособии рассматриваются вопросы, связанные с разработкой и выводом нового продукта на рынок. Тематика прогнозирования продаж, формирования маркетингового плана, бюджета и методов оценки эффективности вывода на рынок и продвижения новой продукции особо актуальна на данном этапе динамичного развития российского рынка для каждого менеджера, принимающего решение об инвестициях и разработке проекта в условиях значительного роста конкуренции.

Пособие предназначено для руководителей и специалистов, принимающих решения и управляющих инновационными проектами.

2.6 УПРАЖНЕНИЯ

 

2.6 УПРАЖНЕНИЯ

1. Рассмотрим следующий набор команд:

    grep main a.c b.c c.c > grepout &
     wc -1 < grepout &
     rm grepout &

Амперсанд (символ "&") в конце каждой командной строки говорит командному процессору shell о том, что команду следует выполнить на фоне, при этом shell может выполнять все командные строки параллельно. Почему это не равноценно следующей командной строке?

    grep main a.c b.c c.c | wc -1

2. Рассмотрим пример программы, приведенный на Рисунке 2.7. Предположим, что в тот момент, когда при ее выполнении встретился комментарий, произошло переключение контекста и другой процесс убрал содержимое буфера из списка указателей с помощью следующих команд:

    remove(gp)
          struct queue *gp;
     {
          gp - > forp - > backp = gp - > backp;
          gp - > backp - > forp = gp - > forp;
          gp - > forp = gp - > backp = NULL;
     }

Рассмотрим три случая:

  • Процесс убирает из списка с указателями структуру bp1.
  • Процесс убирает из списка с указателями структуру, следующую после структуры bp1.
  • Процесс убирает из списка структуру, которая первоначально следовала за bp1 до того, как структура bp была наполовину включена в указанный список.

В каком состоянии будет список после того, как первый процесс завершит выполнение части программы, расположенной после комментариев?

3. Что произошло бы в том случае, если ядро попыталось бы возобновить выполнение всех процессов, приостановленных по событию, но в системе не было бы к этому моменту ни одного такого процесса?

Предыдущая глава || Оглавление || Следующая глава