Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Обрання мови програмування

Обрання мови програмування для реалізації алгоритму шифрування зображень не є справою з легких. Треба враховувати декілька факторів:

1. Треба враховувати захищеність мови програмування від декомпіляції – тобто для цього підходять здебільшого мови середнього та низького рівня.

2. Треба враховувати швидкодію мови програмування.

3. Треба враховувати зручність мови програмування для програміста, адже можна написати програму шифрування і на мові асемблера, який задовольняє 2 попередні вимоги.

4. І найголовніший фактор – писати програму треба на мові, яку програміст знає.

Отже:

1. Інтерпретовані мови програмування не підходять – дуже висока можливість повної декомпіляції, яка у C# доходить до того, що програму можна декомпілювати аж до збереження імен змінних та функцій. Рішення: Assembler, C, C++ і всі неінтерпретовані мови.

2. Рішення:аналогічно до попереднього, але без Delphi з його синтаксисом Pascal[10].

3. Тут би підійшли саме C-подібні інтерпретовані мови як от Java та C#, але непогані фреймворки[11] є також і на C/C++.

4. Рішення: Delphi, C, C++.

Мову C ми відкидаємо, бо автор знає її гірше ніж C++, Delphi ми відкинули по зрозумілим причинам. Залишається лише C++ на якій автор і реалізував даний алгоритм.

 

4.2 Обрання допоміжних засобів (бібліотек)

Графічний інтерфейс було вирішено відкласти на потім (щоб не «засмічувати» програму непотрібними для реалізації алгоритму бібліотеками передчасно). Більшість популярних бібліотек для роботи з зображеннями є складними і надлишковими. Отож потрібно було знайти просту бібліотеку. Під цей критерій підпадали 2 бібліотеки: CImg та EasyBMP. CImg була «забракована» через досить погану документацію, а от EasyBMP навпаки має досить гарну документацію та гарні відгуки програмістів. До того ж вона з відкритим вихідним кодом та кроссплатформена.

Зупинятись на її описі я не буду але процитую Б. Кернігана і Д. Рітчі[12]: «Якщо функція написана правильно, то немає потреби знати, як вона працює; достатньо знати, що саме вона робить.» А правильність написання своїх функцій бібліотека EasyBMP вже не раз довела.

 

4.3 Вибір IDE

Вибір IDE[13] дуже важливий при розробці великих програм, а для програми, яка складається одного файлу вихідного коду (близько 125 стрічок коду) та бібліотеки, що не модифікувалась, IDE і не потрібна. Автору вистачило текстового редактора з підсвіткою синтаксису (Notepad++), інтерфейсу командного рядка з Windows 7 (cmd) та компілятора g++ з пакету MinGW. Але зважаючи на заслугу Dev-C++ 4.2.2.9 у написанні інших програм автора вона була включена у цей проект як основна IDE.

 


Дата добавления: 2015-07-20; просмотров: 58 | Нарушение авторских прав


Читайте в этой же книге: Етапи шифрування | Види шифрування | Суть роботи алгоритму | Висновки |
<== предыдущая страница | следующая страница ==>
Структура файлу| Висновки

mybiblioteka.su - 2015-2024 год. (0.006 сек.)