Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Порядок виконання лабораторної роботи




1. Складіть програму для програмної перевірки типу кодування, заданого за замовчуванням (визначте довжину в байтах типу TCHAR).

2. Визначте тип кодування по заданих макросах в командному рядку. Для цього визначимо командний рядок для трансляції програми:

Properties→C/C++→Command Line

Усі змінні, які задаються при трансляції, задаються параметром /D. Якщо визначено змінну UNICODE, то використовується режим UNICODE, якщо така змінна не задана, то використовується режим ANSI.

3. Перемикніть режим завдання символу на протилежний. Для перемикання режиму з UNICODE в режим ANSI використовують таку послідовність вибору пунктів меню: Properties→General→Character Set→ Use Multi-Byte Character Set

Для перемикання з режиму ANSI в режим UNICODE використовують: Properties→General→Character Set→UseUnicode Character Set.

4. Після перемикання режиму знову перевірте тип символу за замовчуванням та командний рядок. (Після трансляції!!!)

5. Завдайте ПІБ членів своєї сім’її в ANSI та виведіть задані значення. Для виведення букв кирилиці необхідно встановити локальні режими. Для цього використовуються файл заголовку і функція:

#include <locale.h>

TCHAR * _tsetlocale ( int category, const TCHAR *locale );

де:

category – зазвичай (LC_ALL);

locale – рядок, який визначається мовою, для якої встановлюється:

_T("Russian") – російська мова;

_T("Ukrainian") – українська мова.

Функція повертає 0, якщо функція не може бути виконана.

6. Переведіть задані рядки в UNICODE за допомогою функції (MultiByteToWideChar).

7. Виведіть отриманий масив. Перевірте можливість виведення кожним з 3-х способів:

- функція _tprintf, якщо встановлено локальні режими;

- функція MessageBox

int MessageBox (0, <Рядок, який виводиться>, <Заголовок вікна>, MB_OK)) ;

- функція WriteConsole (Дескриптор, <Рядок, який виводиться>, <Довжина рядка в символах>, <Адреса довжини рядка, який виведено>, 0).

Зробіть висновки відносно можливості їх використання.

8. Виконайте упорядкування масиву рядків, заданих в UNICODE. Для сортування треба використовувати універсальну стандартну функцію qsort:

void qsort(

void *base,      // Масив, що упорядковуємо

size_t num,      // Кількість елементів масиву;

size_t width,    // Ширина елементу масиву;

int (__cdecl *compare )(const void *, const void *) );

                             // Функція для порівняння елементів масиву

9. Виконайте зворотне перетворення масиву з Unicode в ANSI.

10. Виведіть отриманий результат

11. Завдано текстовий файл. Незалежно від способу кодування символів в цьому файлі, переставити всі символи в зворотному порядку. Символи кінця рядка залишити в правильному порядку.

Зміст звіту

 

Звіт повинен вміщувати:

- повний опис усіх типів і функцій, які використовуються для забезпеченості універсальності кодування;

- повний опис усіх типів і функцій, які використовуються для виведення інформації в консольному режимі на російській (українській) мові;

- тексти розробленої програми з коментарями;

- тести для перевірки правильності програми;

- Висновки по роботі

 

Контрольні запитання і завдання

1. Навіщо створювати універсальні додатки для роботи з ANSI, UNICODE?

2. Як забезпечити універсальність об’явлення символу?

3. Які функції використовуються для введення та виведення універсальних типів даних?

4. Як встановити локальні характеристики для виведення інформації російською(українською) мовами?

5. Що треба змінити в програмі для упорядкування масиву ANSI символів?

 

СТВОРЕННЯ ТА ВИКОРИСТАННЯ БІБЛІОТЕК

Мета роботи

Вивчити прийоми та методи створення та використання статичний та динамічних бібліотек

Методичні вказівки з організації самостійної роботи студентів

При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з [3, c. 100 - 106 ].

Загальна характеристика статичних бібліотек

Статичні бібліотеки (файл з розширенням lib) компонується разом з додатком, в якому використовується ця бібліотека.

Переваги статичних бібліотек:

- статична бібліотека утворює разом з рештою додатку єдине ціле, тобто для використання додатка достатньо мати один файл типу .exe.

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

Недоліки статичних бібліотек:

- бібліотеки залежать від середовища, в якому вони створені. Так, бібліотеку, яку було створено в середовищі С++ Builder, не можна використовувати в середовищі Visual Studio та навпаки;

- при зміні коду бібліотеки потрібна повторна компоновка усіх додатків, які використовують бібліотеку;

- якщо декілька додатків використовують одну і ту ж бібліотеку, копія цієї бібліотеки зберігається в пам’яті кожного додатку.

Загальна характеристика динамічних бібліотек

Динамічні бібліотеки (Dynamic Link Library - DLL), файли з розширенням DLL, завантажуються під час завантаження модуля, який використовує бібліотеку, або під час його виконання.

Переваги DLL:

- бібліотеки не залежать від середовища, в якому вони створені. Так, бібліотеку, яку було створено в середовищі С++ Builder, може бути використано в середовищі Visual Studio та навпаки;

- при зміні коду бібліотеки не потрібна повторна компоновка додатків, які використовують цю бібліотеку, ось чому операційна система використовує цей тип бібліотек для модулів, які можуть змінюватися в залежності від версії та в разі помилок;

- якщо декілька додатків використовують одну і ту ж бібліотеку, копія цієї бібліотеки зберігається в пам’яті тільки один раз.

Недоліки DLL:

- окрім програми, яка виконується необхідно мати додатковий модуль – саму бібліотеку;

- функції DLL використовувати складніше, ніж функції статичної бібліотеки.

Решта переваг та недоліків DLL залежать від режимів використання бібліотеки цього типу.

Порівняйте переваги і недоліки кожного типу бібліотек і зробіть висновки по тому, коли треба використовувати кожний тип бібліотеки.










Последнее изменение этой страницы: 2018-05-29; просмотров: 343.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...