СТВОРЕННЯ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системне програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЕОМ  ЗВІТ до лабораторної роботи № 6 з дисципліни " Системне програмування" Львів – 2012 Тема: СТВОРЕННЯ БІБЛІОТЕК ДИНАМІЧНОГО КОМПОНУВАННЯ ТА ЇХ ВИКОРИСТАННЯ В РЕЖИМІ НЕЯВНОГО ЗВ’ЯЗУВАННЯ Мета: Ознайомитись з технологією створення та використання бібліотек динамічного компонування з використанням неявного зв’язування. Теоретичні відомості: DLL (англ. Dynamic-link library — динамічно завантажувана бібліотека) — реалізовані компанією Microsoft загальні бібліотеки в ОС Windows. Як правило бібліотеки мають розширення файлу *.dll, *.ocx (для бібліотек, що містять елементи керування ActiveX) або *.drv (драйвери старих версій ОС). Структура DLL така сама, як і в PE-файлів (Portable Executable) для 32-, 64-розрядних Windows, та New-Executable (NE) для 16-бітових Windows. DLL може містити 2 типи функцій: експортні та внутрішні. Експортні функції визначаються за допомогою ключового слова __declspec(dllexport) і можуть бути викликані з програм, що завантажили динамічну бібліотеку, яка містить ці функції. Внутрішні функції – це функції, які використовуються в середині DLL і не можуть бути викликані ззовні. ЗАВДАННЯ 8.Написати програму, що здійснює в деякому тексті заміну заданих слів (врахувати, що слова можуть мати різну довжину!) Код програми: Файл .dll corrText.h #ifndef _corrText_H_ #define _corrText_H_ #include <iostream> #include <string> #include <stdio.h> #include <sstream> #include <conio.h> using namespace std; extern "C" __declspec(dllexport) void corrText(); #endif Код.срр #include "corrText.h" extern "C" __declspec(dllexport) void corrText() { string source; cout << "Vvedit' text: "; getline(cin, source); const string pattern="new"; const string substitutiоn="cool"; const int pattern_length = pattern.length(); ostringstream result; int previous = 0; int matches_count = 0; for ( int positiоn = source.find(pattern); positiоn != string::npos; positiоn = source.find(pattern, positiоn + 1) ) { if (previous != positiоn) result << source.substr(previous, positiоn - previous); result << substitutiоn; previous = positiоn + pattern_length; matches_count++; } const int source_length = source.length(); if (previous < source_length) result << source.substr(previous, source_length - previous); cout << "Zbigiv \"" << pattern << "\" najdeno: " << matches_count << endl; cout << "Novij text: " << result.str() << endl; getchar(); } Виклик файлу .dll #include <conio.h> #include "corrText.h" void main() { corrText(); getch(); } Підключення бібліотек імпорту в проект:  Результат виконання:  Відбулась заміна слова «new» на слово «cool». Висновок: Я ознайомився з технологією створення та використання бібліотек динамічного компонування з використанням неявного зв’язування.
Антиботан аватар за замовчуванням

21.05.2013 00:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!