Тепер наша програма налагоджена і готова до вживання. Тепер настав час дізнатися, як же відкомпілювати програму в exe файл?
Нагадаю, що Visual Basic пропонує 2 компілятора. Компіляція в P-код, і компіляція в Native-код. P-код - це старий компілятор і користуватися ним я не рекомендую. Завжди компілюйте додаток в Native-код. Вибір виду компіляції знаходиться на вкладці Compile в меню Project-> Project Properties. Там же можна вказати кілька доступних видів оптимізації (про них нижче).
Отже, щоб відкомпілювати нашу програму, необхідно виконати наступні маніпуляції:
- В меню File вибрати Make імя_проекта.exe
- Ввести ім'я вихідного exe файлу
- Якщо необхідно, то вибрати деякі опції, натиснувши на кнопку Options. (До цих опцій також можна дістатися через меню Project-> Project Properties).
- Натиснути ОК. І, якщо Visual Basic не знайдете ніяких помилок в програмі, то відкомпілює її і збереже в вказано вами каталозі під зазначеним вами ім'ям.
Тепер можна запустити отриманий exe файл і перевірити його працездатність. Тепер ви можете транспортувати його куди хочете, - викладати в інтернет, принести кудись і т.д. Єдине, що потрібно не забувати, так це те, що для запуску програми необхідна бібліотека msvbvmX0.dll, яка повинна знаходитися в каталозі Windows \ System. X - версія Visual Basic. (5 або 6).
Давайте подивимося на доступні опції програми. Відкрийте вікно Project Properties (Project-> Project Properties). Відкрийте вкладку Make:
У рамці Version Number можна вказати версію додатка. Подивитися інформацію про версії додатка можна, вибравши вкладку "Версія" у властивостях exe файлу. Auto Increment означає автоматичне збільшення версії Revision при кожній компіляції програми (використовуючи Make).
У рамці Application можна вибрати заголовок додатка (під таким заголовком ваше додаток буде видно в списку завдань Window (Ctr + Alt + Del)). Також можна вказати іконку для exe файлу. У списку можна вибрати доступні форми в додатку. Іконку можна задати за допомогою властивості форми "Icon" (вас попросять вказати файл, з розширенням .ico або .cur).
У рамці Version Information можна вказати різну інформацію про програму. Подивитися цю інформацію можна буде, вибравши вкладку "Версія" у властивостях exe файлу.
Тепер подивимося, що є на вкладці Compile:
Я рекомендую залишати все, як є, так це найоптимальніший варіант. Але якщо, з якихось причин, вас не влаштовують стандартний варіант, то можете змінити ці опції, керуючись наступною таблицею:
Optimize For Fast Code
Максимально підвищує швидкодію скомпільованих виконуваних файлів, "інструктуючи" компілятор, що швидкість важливіше розміру. Коли компілятор транслює оператори Visual Basic в машинний код, часто є вибір серед багатьох різних послідовностей машинного коду, які можуть правильно представити даний оператор або конструкцію. Іноді ці відмінності дозволяють досягти певних цілей компіляції. Вибір даної опції гарантує, що, коли компілятор розпізнає такі варіанти, він завжди буде генерувати найшвидшу можливу послідовність кодів, навіть коли це може збільшувати розмір компілювати програми.
Optimize For Small Code
Мінімізує розмір скомпільованих виконуваних файлів, інструктуючи компілятор, що розмір важливіше швидкодії. Вибір цієї опції гарантує, що, коли компілятор розпізнає варіанти послідовностей кодів, він завжди буде генерувати найменшу можливу послідовність, навіть коли це може знизити швидкодію виконання компілювати програми.
Відключає всякі оптимізації. Якщо вибрана ця опція, компілятор генерує код, який буде значно повільніше і більше за розміром, ніж при виборі будь-якого типу оптимізації.
Favor Pentium Pro
Оптимізує генерацію об'єктного коду з урахуванням особливостей архітектури процесора Pentium Pro (P6). Код, згенерований з цією опцією, буде працювати також на більш ранніх процесорах, але менш ефективно. Деякі стратегії генерації об'єктного коду, застосовні для Pentium Pro, не підтримуються на комп'ютерах з процесорами 80386, 80486 і Pentium. Отже, використовувати цю опцію можна, тільки якщо на всіх або більшості машин, що виконують програму, використовується Pentium Pro.
Create Symbolic Debug Info
Генерує в компілювати виконуваному файлі символічну інформацію налагодження. Програми, компілюють у внутрішній код з використанням цієї опції, можуть бути налагоджені в Visual C ++ 5.0 або іншим сумісним отладчиком. Установка цієї опції буде генерувати файл .pdb з необхідною інформацією налагодження.
І опції у вікні Advanced Optimization:
Asume No Aliasing
Remove Array Bounds Checks
Вимикає контроль помилок допустимих індексів масиву і кількості розмірностей масиву. За замовчуванням, Visual Basic проводить контроль при кожному зверненні до масиву, визначаючи, чи знаходиться індекс всередині інтервалу масиву. Якщо індекс поза межами масиву, повертається помилка. Вибір цієї опції відключає контроль цієї помилки, що може значно прискорювати маніпулювання масивами. Однак, якщо програма звертається до масиву за індексом, який не потрапляє в межі розмірності, без попереджень може здійснюватися доступ до недостовірних розділах пам'яті. Це буде обумовлювати непередбачене поводження або збої програми.
Remove Integer-Overvlow Checks
Відключає висновок помилок у випадках, коли числові значення, що привласнюються цілим змінним, розташовуються поза правильного інтервалу для типу даних. За замовчуванням, Visual Basic виконує перевірку при кожному обчисленні із змінною целочисленного типу даних (Byte, Integer, Long і Currency), щоб гарантувати, що результуюче значення знаходиться всередині необхідного інтервалу. Якщо значення має неправильну величину, видається помилка. Вибір даної опції відключає контроль цієї помилки, що може прискорювати цілочисельні обчислення. Однак в разі переповнення ємності типу даного помилка не буде повернута, і можуть мати місце неправильні результати.
Remove Floating-Point Error Checks
Відключає контроль помилок, що гарантує, що числові значення, що привласнюються змінним з плаваючою комою, знаходяться в правильному інтервалі для типів даних і що не відбуватиметься розподіл на нуль або інші неприпустимі операції. За замовчуванням, Visual Basic виконує перевірку при кожному обчисленні із змінною типу даних з плаваючою комою (Single і Double), щоб гарантувати, що результуюче значення знаходиться всередині необхідного інтервалу. Якщо значення має неправильну величину, видається помилка. Виконується також контроль на неприпустимі операції. Вибір даної опції вимикає цей контроль, що може прискорювати обчислення з плаваючою комою. Однак в цьому випадку можуть мати місце неправильні результати без індикації помилок.
Remove Safe Pentium FDIV Checks
Вимикає генерацію спеціального коду, що підвищує безпеку ділення з плаваючою комою (FDIV - floating-point division) на процесорах Pentium, мають помилку за цією операцією. Компілятор внутрішнього коду автоматично додає додатковий код для виконання операції ділення з плаваючою комою на процесорах Pentium, які мають помилку FDIV. Вибір цієї опції дозволяє зменшити і прискорити код, але в рідкісних випадках може створювати на таких процесорах невеликі похибки.
Allow Unrounded Floating-point Operations
Дозволяє компілятору порівнювати результати виразів з плаваючою комою без попереднього округлення цих результатів до правильної точності. При обчисленнях з плаваючою комою перед виконанням порівняння значення зазвичай округлюються до відповідного ступеня точності (Single або Double). Вибір цієї опції дозволяє компілятору, коли це дозволяє виконати операцію більш ефективно, проводити порівняння з плаваючою комою до округлення. Це підвищує швидкодію деяких операцій з плаваючою комою. Однак це може привести до того, що обчислення будуть проводитися з більш високою точністю, ніж очікується, і два значення з плаваючою комою, які могли б вважатися рівними, що не будуть такими.
З компіляцією проблем виникнути не повинно.
Ось ми з вами і дісталися до ув'язнення.