рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Короткі теоретичні відомості й історичний аспект

Короткі теоретичні відомості й історичний аспект - раздел Образование, Навчальної дисципліни Основи програмування та алгоритмічні мови   Середовище .net Framework   .net Frame...

 

Середовище .NET Framework

 

.NET Framework — центральна частина Visual C++ 2005, як і всіх інших засобів розробки .NET компанії Microsoft. Середовище .NET Framework складається із двох елементів: загальноязикового виконуючого середовища (Common Language Runtime— CLR), у якій виконуються ваші програми, і набору бібліотек, називаних бібліотеками класів .NET Framework. Бібліотека класів .NET Framework забезпечує функціональну підтримку, що необхідна вашому коду при виконанні під керуванням CLR, незалежно від застосовуваної мови програмування, тому програми .NET, написані на З++,С# або будь-якій іншій мові, що підтримує .NET Framework, використають ті самі бібліотеки .NET.

Існують два принципово відрізняються виду додатків C++, які можна розробляти в Visual C++ 2005. Ви можете писати додатка, які виконуються на вашому комп'ютері як "рідні" (native). Ці програми будемо називати рідними програмами C++. Такі програми пишуться на версії мови C++, певної стандартом ISO/ANSI. Ви також можете розробляти програми, що виконуються під керуванням CLR і реалізовані за допомогою розширеної версії C++, що зветься C++/CLI. Ці програми ми будемо називати програмами CLR, або програмами C++/CLI.

 

Загальноязикове виконуюче середовище (CLR)

CLR - це стандартизоване середовище виконання програм, написаних на широкому діапазоні высокорiвневих мов, включаючи Visual Basic, C# й, зрозуміло, C++. Специфікації CLR у цей час убудовані в стандарт ЕСМА (European Association for Standardizing Information and Computer Systems - Європейська асоціація по стандартизації інформаційних й обчислювальних систем) інфраструктури загальної мови (Common Language Infrastructure - CLI) - ECMA-335, а також в аналогічний стандарт ISO - ISO/IEC 23271, тому CLR являє собою реалізацію цього стандарту. Ви бачите, чому C++ для CLR називається C++/CLI - це C++ для CLI, тому досить імовірно, що згодом незабаром з'являться компілятори C++/CLI для інших операційних систем, які реалізують CLI.

CLI - це, по суті, специфікація середовища віртуальної машини, що дозволяє додаткам, написаним на різноманітних высокоуровневых мовах програмування, виконуватися в різних системах без зміни й перекомпіляції оригінального вихідного коду. CLI специфицирует стандарт проміжної мови віртуальної машини, у який компілюється вихідний код высокоуровневого мови програмування. В.NET Framework ця проміжна мова називається Microsoft Intermediate Language (MSIL). Код цієї проміжної мови в остаточному підсумку при виконанні програми відображається на машинний код за допомогою оперативного компілятора (just-in-time- JIT). Звичайно, код проміжною мовою CLI може функціонувати тільки в середовищі, для якого існує реалізація CLI.

CLI також визначає загальний набір типів даних, називаний загальною системою типів (Common Type System - CTS), що повинен використатися програмами, написаними на будь-якій мові, орієнтованими на реалізацію CLI. CTS специфицирует те, як застосовуються типи даних усередині CLR, і містить у собі набір визначених типів. Ви можете також визначати власні типи даних, але їхнє визначення повинне підкорятися ряду правил, щоб вони були погодженими з CLR. Наявність стандартизованої системи типів для подання даних дозволяє компонентам, написаним на різних мовах, обробляти дані уніфікованим способом і забезпечує можливість інтеграції компонентів, написаних на різних мовах, в один додаток.

Код C++, виконуваний під керуванням CLR, називається керованим C++, тому що дані й код перебувають під контролем CLR. У програмах CLR звільнення пам'яті, динамічно виділеної для розміщення даних, здійснюється автоматично, що дозволяє виключити головне джерело помилок "рідних" додатків C++. Код C++, що виконується поза CLR, іноді називається в документації Microsoft некерованим C++, оскільки CLR у його виконанні не бере участь. У некерованому C++ ви повинні самостійно піклуватися про виділення й очищення пам'яті під час виконання програми, і вам доведеться самостійно забезпечувати безпека, що убудована в CLR. Ми також будемо називати некерований C++ рідним C++, тому що він компілюється безпосередньо в рідний машинний код.

На Рис. 8.1 показані основні варіанти вибору, які у вас є при розробці додатків C++.

 

 

Рис. 8.1. Основні варіанти вибору, доступні при розробці додатків на C++

 

C++/CLI - другий привселюдно доступний проект підтримки CLI-програмування мовою C++. Перша спроба була представлена фірмою Microsoft як Managed Extensions (керовані розширення до C++), неофіційно вона називалася Managed C++ ("Керований C++"). Ця мова була представлена у двох випусках Visual C++ (2002 й 2003) і продовжує підтримуватися як застарілий режим в Visual C++ 2005.

Синтаксис, прийнятий в Visual Studio .NET 2002, був максимально наближений до існуючого стандарту C++, тобто до Стандарту ISO C++ (ISO C++ Standard). Відповідно до цього стандарту, будь-які розширення мови повинні були відповідати правилам для язикових розширень. Крім інших обмежень, це означало, що ключові слова повинні були починатися з подвійного підкреслення (__). Таким чином, C++ з керованими розширеннями мав настільки незграбний синтаксис, що навряд чи його можна було вважати відповідної CLR.

Група C++ в Microsoft зрозуміла, що, для того щоб зробити програмування на C++ приємним й эстетически зробленим, а також використати всі переваги CLR, потрібно змінити синтаксис. І це означало, що потрібно зробити радикальний крок - відступити від Стандарту ISO на мову C++.

Однак Microsoft вирішила рішення стандарти, і вуж якщо довелося відступити від Стандарту ISO на C++, те, замість того щоб винайти "нестандартний" мову, було вирішено ввести новий стандарт. Так народився стандарт C++/CLI який і був реалізований в Visual C++ 2005.

Використовуючи C++/CLI можна створювати керовані код і дані. Однак у цей час C++ є єдиним із всіх мов .NET, за допомогою якого можна створювати також і некеровані код і дані. Фактично, керовані й некеровані код і дані на C++ можуть бути визначені в тому самому вихідному файлі, і до деякої міри ці два мири можуть взаємодіяти. Хоча використання керованих коду й даних має багато переваг, воно може привести до зниження продуктивності й втраті гнучкості. Тому в багатьох випадках C++ виявляється кращим вибором для створення програм. Іншою причиною вибору із всіх мов .NET саме C++ може бути бажання вдосконалювати знання

C++ й існуючі наробітки на цій мові.

 

Використання розширень керованого C++

При розробці керованого коду на Visual C++ використаються кілька нових ключових слів, а розширення компілятора C++, що дозволяє створювати додатка для .NET, викликається за допомогою параметра /CLR (Компіляція для виконання в загальноязиковому середовищі). Цей параметр указує компіляторові, що в кінцевому файлі варто застосовувати набір інструкцій проміжної мови IL, а не звичайний набір інструкцій процесора. Нові ключові слова використаються при створенні керованого коду й не підтримуються при створенні звичайного некерованого коду. Хоча наявність або відсутність параметра /CLR (Компіляція для виконання в загальноязиковому середовищі) повністю визначає, чи буде компілятор генерувати керований ( проміжною мовою IL) або некерований код, можна задавати режим компіляції для окремих частин програми. Це здійснюється за допомогою прагм #pragma:

#pragma managed // Наступний код компілюється як керований

#pragma unmanaged // Наступний код компілюється як некерований

 

Якщо задано параметр компілятора /CLR (Компіляція для виконання в загальязиковому середовищі), то при відсутності директив #pragma вихідний код за замовчуванням компілюється як керований. При відсутності параметра /CLR (Компіляція для виконання в обшеязыковой середовищу) прагмы #pragma компілятором ігноруються, а код компілюється як некерований.

 

#include "stdafx.h"

#include <stdio.h>

using namespace System;

#pragma unmanaged

void OutputUnmanage(char*s)

{

printf("OutputUnmanage : %s \n",s);

}

#pragma managed

void OutputManage(String ^s)

{

Console::WriteLine ("OutputManage : {0}",s);

}

int main()

{

char line[20]="We output this text";

 

OutputUnmanage(line);

OutputManage(gcnew String(line));

return 0;

}

У наведеному прикладі функція OutputUnmanage, що виводить переданий як параметр текст на екран компілюється як некерована. Якщо "забути" після її вставити директиву #pragma managed, то компілятор видасть кілька повідомлень про помилки, оскільки далі в тексті програми використаються конструкції, припустимі тільки в керованому З++, зокрема String^ й Console::WriteLine.

 

– Конец работы –

Эта тема принадлежит разделу:

Навчальної дисципліни Основи програмування та алгоритмічні мови

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ... Методичні рекомендації до лабораторних робіт з навчальної дисципліни...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Короткі теоретичні відомості й історичний аспект

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ЗАГАЛЬНІ ПОЛОЖЕННЯ
Методичні рекомендації призначені для виконання лабораторних робіт з першої частини навчальної дисципліни «Основи програмування та алгоритмічні мови». Перед виконанням кожної роботи необхі

Покажчики
Коли компілятор обробляє оператора визначення змінної, наприклад, int i =10, він виділяє пам'ять відповідно до типу (int) і ініціалізував її вка-заним значенням (10). Всі звернення в програмі до зм

Ініціалізація покажчиків
Покажчики найчастіше використовують при роботі з динамічною пам'яттю, званою деякими естетами купою (переклад з англійської мови слова heap). Це вільна пам'ять, в якій можна під час виконання прогр

Операції з покажчиками
З покажчиками можна виконувати наступні операції: разадресация, або непряме звернення до об'єкту (*), привласнення, складання з константою, віднімання, інкремент (++), декремент (--), порівняння, п

Рядки символів як масиви
Рядок має тип “масив з символів”. Рядок завершується нульовим символом. Наприклад, рядок QWERTY має тип char [7], порожній рядок “ має тип char[1]. Рядкова константа - це послідовні

Рядкові бібліотечні функції
Функції для роботи з рядками описані в заголовному файлі string.h. Деякі з них: char *stpcpy(char *dest, const char *src); Копіює символи рядка, поки не скопіює нульовий символ. П

Відкриття і закриття потоку
Схема роботи з потоком така ж, як і з файлом: відкрити потік, виконати читання і/або запис, закрити потік. Відкриває потік функція FILE* fopen( const char *filename,// ім

Введення і виведення рядків
Читання рядка з потоку виконується функцією char *fgets( char *s, // покажчик на буфер, що приймає рядок int n, // гранична кількість читаних символів (звичайно розмір бу

Форматоване виведення
Розглянуті вище функції виводять інформацію в потік без або майже без перетворення. Функція fprintf перетворить дані, що виводяться, в послідовність символів, керуючись рядком формату. int

Форматоване введення
Для форматованого введення з потоку застосовують функцію int fscanf (FILE *stream, const char *format [, address, ...] ) - повертає число полів введення тих, що

Варіант 20
Написати програму, яка: · Виводить текст на екран дисплея; · Визначає найбільшу кількість підряд пропусків, що йдуть, в тексті; · По натисненню довільної клавіші по черзі

Стадії і команди препроцесорної обробки
У інтегроване середовище підготовки програм на С++ в компілятор мови як обов'язковий компонент входить препроцесор. Призначення препроцесора - обробка початкового тексту програми до її компіляції.

Включення текстів з файлів
Для включення тексту з файлу використовується команда #include, що має дві форми запису: #include <имя_файла> // Ім'я в кутових дужках #include "имя_файла" // Ім'я

Умовна компіляція
Умовна компіляція забезпечується в мові С++ набором команд, які, по суті, управляють не компіляцією, а препроцесорною обробкою: #if константний вираз #ifdef ідентифікатор

Макропідстановки засобами препроцесора
Макрос, за визначенням, є засіб заміни однієї послідовності символів іншої. Для виконання замін повинні бути задані відповідні макроозначення. Просте макроозначення ми вже ввели, розглядаючи директ

Теоретичний матеріал
  Структури - це складені типи даних, побудовані з використанням інших типів. Вони є об'єднаний загальним ім'ям набір даних різних типів. Саме тим, що в ст

Масиви структур.
Методика створення масивів структур - така сама, як і при створенні масивів. Наприклад, що б створити масив з 100 екземплярів BestStudent структури Student, необхідний наступний запис: Stu

Варіант 3
Відомість використання машинного часу на обчислювальному центрі: № з/п Кафедра Використання машиного часу (год) Відхилення

Варіант 4
Відомість споживання електроенергії на заводах міста: № з/п Завод Потреба електроенергії, кВт/ч Відхилення від плана

Варіант 5
Відомість руху матеріалів на складах підприємства за звітний період: № п/п Склад Рух материалів за період, грн остаток на к

Варіант 8
Відомість відвідин занять студентами: № з/п Прізвище Пропущено годин Відхилення від плану за планом

Варіант 10
Відомість обліку часу роботи верстатів підприємства: № з/п Тип станка Час роботы (год) Відхилення від плану

Варіант 11
Відомість випуску деталей робітниками цеху: № з/п Прізвище Кількість деталей (шт.) Брак виготовлено

Варіант 13
Відомість нарахування зарплати співробітникам підприємства: № з/п Прізвище Нараховано (грн) Виплати

Варіант 17
Відомість оплати ремонту обладнання підприємства за звітний період: № зп Обладнання Вид ремонту Вартість комплектуючих

Варіант 20
Відомість телефонних переговорів абонента за звітний період: № зп Абонент № телефона Тривалість переговорів (хв.)

Короткі теоретичні відомості
  STL - це бібліотека стандартних шаблонів. Вона містить, наприклад, що часто зустрічаються способи організації даних - так називані контейнери: динамічні масиви, двонаправленi списки

Варіант 20
Скласти програму, яка містить поточну інформацію про заявки на туристичні тури. Кожна заявка включає: · пункт призначення; · номер туру; · прізвище і ініціали за

Дослідження структури windows-додатка
  Ціль лабораторної роботи - одержання практичних навичок у побудові базового додатка для Win32, дослідження параметрів віконних процедур. Перед виконанням лабораторної робот

Перелік бітових прапорів стилю класу вікна
Прапор Опис CS _VREDRAW Перемалювати вікно при зміні висоти вікна CS_HREDRAW Перемал

Список визначених системних піктограм
Іконка Опис IDI_APPLICATION Піктограма додатка, задана за замовчуванням IDI_ASTERISK

Список визначених ідентифікаторів курсору
Курсор Опис IDC_APPSTARTING Стандартна стрілка й пісковий годинник. IDC_ARROW Станда

Перелік бітових прапорів стилю вікна
Прапор Опис WS_BORDER У вікна є тонка обмежуюча рамка WS_CAPTION WS_BORDER | WS_DLGF

Варіант № 20
Вікно повинне: · бути згорнутим; · мати власний контекст; · завантажувати іконку у вигляді молодого півмісяця; · мати курсор у вигляді двухконечной стрілки з нап

Дослідження взаємодії додатка з користувачем
  Ціль лабораторної роботи: Досліджувати можливості функцій Win32 API по створенню візуального інтерфейсу додатка, одержати практичні навички написання й настроювання програм, які міс

Значки, покажчики миші й крапкові малюнки
Ресурси даного типу створюються за допомогою різних редакторів, але тому що всі вони ставляться до растрових зображень, робиться це по одному принципі. Редактори значків і покажчиків миші дозволяют

Створення меню
Що таке меню. Меню - це список команд й опцій програми. У ряді випадків пункти меню можуть бути представлені растровими зображеннями. Вибрати елемент меню можна за допомогою миші, клавіатури або пе

Діалогові вікна
Використання меню варто розглядати як найпростіший спосіб уведення інформації користувачем. Більше зробленим методом передачі даних у програму є застосування діалогових вікон. Можливість уведення д

Розробка діалогового вікна
Для діалогового вікна необхідно скористатися відповідним редактором. Редактор діалогових вікон викликається в процесі реалізації ланцюжка дій ( Рис. 7.4).  

Компонування діалогового вікна
За допомогою миші розмістите поле й напис у потрібнім місці й задайте їхній розмір. Щиглик мишею усередині макета діалогового вікна дозволить відредагувати заголовок вікна або текстовий рядок, що н

Бітові прапори, що визначають поводження й вид елемента меню
Прапор Опис MF_BITMAP Замість рядка в якості меню застосовується bitmap MF_BYCOMMAND

Можливі типи рядка стану
Тип Опис SBT_NOBORDERS Панель прорисовується без обмежувальних ліній SBT_POPOUT Пане

Перелік бітових прапорів стилю вікна
Прапор Опис WS_BORDER У вікна є тонка обмежуюча рамка WS_CAPTION WS_BORDER | WS_DLGF

Стилі діалогового вікна
Прапор Ефект DS_ABSALIGN Позиціювати діалогове вікно щодо лівого верхнього кута екрана DS_SYSMODA

Таблиця 7.5
Стилі вікон класу "кнопки" Стиль Опис BS_3STATE Створити прапорець, що має три стани

Варіант № 3
Головне меню містить три групи команд: · Головне меню містить розділ "Фігури" з іменами геометричних фігур: коло, квадрат, трикутник, прямокутник і шестикутник. При виборі назви

Варіант № 11
Головне меню містить три групи команд: · Розділ "Файл" головного меню містить рядка "Створити", "Відкрити", "Демо-версiя" й "Вихід". При в

Варіант № 13
Головне меню містить три групи команд: · Робочу область вікна додатка повністю займає тимчасове вікно з порожнім головним меню. Головне меню вікна додатка із тримає розділ "Файл"

Варіант № 17
Головне меню містить три групи команд: · Головне меню містить розділ "Файл" з рядками "Створити", "Відкрити", "Видалити" й "Вихід". При ви

Варіант № 18
Робочу область вікна додатка, повністю займає тимчасове вікно з порожнім головним меню. Головне меню вікна додатка містить розділ "Файл" з рядками "Відкрити" й "Закрити&quo

Варіант № 20
· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 5, максимальне число пунктів меню - 11. · Перша сторінка блокнота містить назви книг, друга - на звання глав обраної кни

Специфіка C++/CLI: фундаментальні типи даних
Фундаментальні типи ISO/ANSI C++ можна використати у своїх програмах C++/CLI, і з арифметичними операціями вони працюють точно так само, як й у рідному C++. Крім того, в C++/CLI визначені два додат

Фундаментальні типи C++/CLI
Фундаментальний тип Розмір (у байтах) Клас значень CLI bool System: -.Boolean

Створення простого керованого консольного додатка.
Для створення консольного додатка на керованому C++ варто виконати наступну послідовність операцій:   1. Запустите на виконання Visual Studio. NET (2005 або більше нової)

Стандартний ввід-вивід
Клас System::Console забезпечує підтримку стандартного вводу-висновку. Метод ReadLine класу System::Console зчитує уведену із клавіатури рядок як текстову. String^ line = Console::ReadLine

Часто використовувані специфікатори формату
Специфікатор формату Опис C або з Виводить значення в грошовому форматі. dабо d Виво

Часто використовувані специфікатори формату
Специфікатор формату Опис C або з Виводить значення в грошовому форматі. dабо d Виво

Дескриптори, що відслідковують
Дескриптори, що відслідковують, (tracking handle) мають подібність із рідними покажчиками C++, однак є й істотні відмінності. Дескриптор зберігає адреса, і адреса, що у ньому втримується, автоматич

Оголошення дескрипторів, що відслідковують
Для специфікації дескриптора типу, необхідно помістити символ : (часто називаний "капелюхом") слідом за ім'ям типу. Наприклад, от як можна оголосити відслідковує дескриптор, що, по імені

Масиви CLR
Масиви CLR відрізняються від масивів рідного C++. Пам'ять для масиву CLR виділяється в керованій купі, але це ще не все. Масиви CLR мають убудовану функціональність, який немає в масивів рідного C+

Багатомірні масиви
У програмах на C++/CLI можна створювати масиви із двома й більше вимірами; максимальна кількість вимірів масиву - 32, чого цілком достатньо в більшості випадків. Кількість вимірів масиву вказується

Багатомірні масиви
У програмах на C++/CLI можна створювати масиви із двома й більше вимірами; максимальна кількість вимірів масиву - 32, чого цілком достатньо в більшості випадків. Кількість вимірів масиву вказується

Цикл foreach
При обробці масивів і рядків дуже часто, використають оператори циклів. Всі оператори циклів, які застосовуються в мові ISO/ANSI C++, також використаються й у и в C++/CLI. Але мова C++/CLI пропонує

Варіант 20
В одномірному масиві, що складається з п речовинних елементів, обчислити: o добуток позитивних елементів масиву; o суму елементів масиву, розташованих до мінімального елемента.

Навчальне видання
  Методичні рекомендації до лабораторних робіт з навчальної дисципліни «Основи програмування та алгоритмічні мови» Частина 2 для студентів напряму

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги