
- •Структура платформы .NET
- •Схема выполнения программы в .NET
- •Схема работы компиляторов .NET
- •Достоинства языка С++
- •Структура программы
- •Модификаторы памяти
- •Пространство имен
- •Константы
- •Описание идентификаторов
- •Операции С++
- •Правила преобразования типов
- •Функции
- •ПЕРЕГРУЗКА ФУНКЦИЙ
- •Неоднозначность перегрузки
- •Шаблоны функций
- •Явная спецификация типов
- •Оперативная память
- •В адресном пространстве каждого процесса содержится:
- •Виртуальная память может находиться в трех состояниях
- •Средства защиты памяти
- •Страничное преобразование
- •ПРИМЕР РАБОТЫ С УКАЗАТЕЛЯМИ
- •Еще один пример с указателями
- •Утечки памяти
- •Процесс сборки мусора
- •Сборка мусора. Поколения объектов
- •Особенности ОС Windows
- •Процесс и поток
- •Очереди сообщений
- •Структура сообщения
- •Cпособы создания интерактивных Win приложений в VS C++
- •Функция WinMain
- •Создание окна
- •Функция окна
- •Цикл обработки сообщения
- •Определение запущенной копии приложения
- •Пример приложения
- •Команды передачи данных
- •Арифметические команды:
- •Каркас программы
- •Стековый фрейм
- •Парадигмы программирования
- •Элементы объектной модели
- •Преимущества объектной модели
- •Ограничения доступа
- •Спецификатор памяти static
- •Спецификатор const
- •Указатель this
- •Дружественные функции
- •Основные свойства и правила использования спецификатора friend:
- •Наследование
- •Основные правила использования базовых и производных классов:
- •Наследование атрибутов компонентов базового класса:
- •Множественное наследование
- •Использование виртуального класса
- •Полиморфизм
- •ПРОЦЕСС
- •Структура процесса
- •Поток (thread)
- •Создание и работа с потоками
- •Создание потока
- •Завершение потока
- •Совместимость потоков и стандартной библиотеки
- •Синхронизация потоков ПРИМЕР1
- •Как можно приостановить работу потока?
- •ПРИМЕР 2
- •Объекты синхронизации
- •Мьютекс. ПРИМЕР3
- •Критические секции ПРИМЕР4
- •События. ПРИМЕР5
- •Семафоры. ПРИМЕР6
- •Структура описания технологической операции
- •Типы программ
- •Жизненный цикл программного обеспечения
- •Структура процессов ЖЦПО
- •Стратегии конструирования ПО
- •Водопадная модель ЖЦПО
- •Макетирование
- •Спиральная модель БОЭМА
- •Инкрементальная модель
- •Модель быстрой разработки приложений (RAD)
- •Схема процесса XP.
- •Эксплуатационные требования к программным продуктам


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

Парадигмапрограммирования— "это способ создания программс помощью определенных принципов программирования и подходящего языка, позволяющего писатьясные программы".
Структурное программирование
Функциональное программирование
Логическое программирование
Автоматноепрограммирование
Объектно-ориентированное программирование
Событийно-ориентированноепрограммирование
Агентно - ориентированноепрограммирование

Платформа Microsoft.NETпредоставляет:
устойчивуюобщеязыковуюсреду выполнения CLR (Common Language Runtime);
средства разработки приложений налюбом из многихязыков программирования, поддерживаемых платформой .NET;
библиотеку классов .NET Framework;
поддержкусетевой инфраструктуры, построенной на верхнем слое стандартов Internet;
поддержку нового промышленного стандарта, а именно технологии Web-служб (SOAP - Simple Object Access Protocol, ASP - Active Server Pages);
модель безопасности;
мощные инструментальные средства разработки.

Структура платформы .NET
Платформа .NET
Среда разработки приложений Visual Studio.NET
Каркас .NET Framework
Библиотека классов каркаса (FCL) |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Базовые классы среды |
|
|
Интерфейс пользователя |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Классы для работы с данными и XML |
|
Web-службы |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Удаленная обработка |
|
|
Общая система типов (CTS) |
|
||||
|
|
|
|
|
|
|
|
|
Общеязыковая среда выполнения (CLR)
.NET Enterprise
Servers
.NET Building
Block Services
Операционная система
Аппаратные средства компьютера

Общеязыковая исполнительная среда |
|
(CLR) |
|
Двухэтапная компиляция |
|
Управляемый модуль - переносимый |
|
исполняемый файл (Portable Executable) |
|
MSIL (Microsoft Intermediate Language) |
Метаданные |
Управляемый код - код на IL выполняемый |
|
под управлением CLR |
|
Виртуальная машина
Дизассемблер и ассемблер
Сборщик мусора - Garbage Collector

Схема выполнения программы в .NET
Исходный |
|
Сборка (.exe или .DLL) |
|
|
Исполняемый файл |
||
текст |
Компилятор |
||
(IL-код и метаданные) |
|||
программы |
|
||
|
|||
|
|
|
CLR |
|
|||||||
Базовые классы |
|
|
|
|
|
||||
|
|
Загрузчик классов |
|
|
|||||
среды (IL и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
метаданные) |
|
|
JIT-компилятор |
|
|
|
Вызовы |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Машинные команды |
нескомпили- |
||||||
|
|
|
|
|
|
|
|
|
рованных |
|
|
|
|
|
|
|
|
|
методов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выполнение |
|
|
|
|
|
|
|
|
|
программы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7

Результаты дизассемблирования
PE-файла