Visual Basic. Программирование на Visual Basic

..........................................................................................................................

[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ]
..........................................................................................................................


Урок № 18. Компиляция

Теперь наша программа отлажена и готова к употреблению. Теперь настало время узнать, как же откомпилировать программу в exe файл?

Напомню, что Visual Basic предлагает 2 компилятора. Компиляция в P-код, и компиляция в Native-код. P-код - это старый компилятор и пользоваться им я не рекомендую. Всегда компилируйте приложение в Native-код. Выбор вида компиляции находится на вкладке Compile в меню Project->Project Properties. Там же можно указать несколько доступных видов оптимизации (о них ниже).

Итак, чтобы откомпилировать нашу программу, необходимо проделать следующие манипуляции:

  1. В меню File выбрать Make имя_проекта.exe
  2. Ввести имя выходного exe файла
  3. Если необходимо, то выбрать некоторые опции, нажав на кнопку Options. (К этим опциям также можно добраться через меню Project->Project Properties).
  4. Нажать ОК. И, если Visual Basic не найдёт никаких ошибок в программе, то откомпилирует её и сохранит в указанно вами каталоге под указанным вами именем.

Теперь можно запустить полученный exe файл и проверить его работоспособность. Теперь вы можете транспортировать его куда хотите, - выкладывать в интернет, принести куда-то и т.д. Единственное, что нужно не забывать, так это то, что для запуска программы необходима библиотека msvbvmX0.dll, которая должна находиться в каталоге Windows\System. X - версия Visual Basic. (5 или 6).

Давайте посмотрим на доступные опции приложения. Откройте окно Project Properties (Project->Project Properties). Откройте вкладку Make:

Visual Basic - здесь можно почитать и скачать статьи, книги, примеры, описания к API функциям

В рамке Version Number можно указать версию приложения. Посмотреть информацию о версии приложения можно, выбрав вкладку "Версия" в свойствах exe файла. Auto Increment означает автоматическое увеличение версии Revision при каждой компиляции приложения (используя Make).

В рамке Application можно выбрать заголовок приложения (под таким заголовком ваше приложение будет видно в списке задач Window (Ctr+Alt+Del)). Также можно указать иконку для exe файла. В списке можно выбрать доступные формы в приложении. Иконку можно задать с помощью свойства формы "Icon" (вас попросят указать файл, с расширением .ico или .cur).

В рамке Version Information можно указать различную информацию о программе. Посмотреть эту информацию можно будет, выбрав вкладку "Версия" в свойствах exe файла.

Теперь посмотрим, что доступно на вкладке Compile:

Visual Basic - здесь можно почитать и скачать статьи, книги, примеры, описания к API функциям

Я рекомендую оставлять всё, как есть, так это самый оптимальный вариант. Но если, по каким-то причинам, вас не устраивают стандартный вариант, то можете изменить эти опции, руководствуясь следующей таблицей:

Опция Описание
Optimize For Fast Code Максимизирует быстродействие скомпилированных исполняемых файлов, "инструктируя" компилятор, что скорость важнее размера. Когда компилятор транслирует операторы Visual Basic в машинный код, часто имеется выбор среди многих различных последовательностей машинного кода, которые могут правильно представить данный оператор или конструкцию. Иногда эти различия позволяют достичь определенных целей компиляции. Выбор данной опции гарантирует, что, когда компилятор распознает такие варианты, он всегда будет генерировать самую быструю возможную последовательность кодов, даже когда это может увеличивать размер компилированной программы.
Optimize For Small Code Минимизирует размер скомпилированных исполняемых файлов, инструктируя компилятор, что размер важнее быстродействия. Выбор этой опции гарантирует, что, когда компилятор распознает варианты последовательностей кодов, он всегда будет генерировать наименьшую возможную последовательность, даже когда это может снизить быстродействие выполнения компилированной программы.
No Optimizations Отключает всякие оптимизации. Если выбрана эта опция, компилятор генерирует код, который будет значительно медленнее и больше по размеру, чем при выборе любого типа оптимизации.
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 Сообщает компилятору, что программа не использует совмещение имен (псевдонимы). Псевдоним — имя, которое относится к разделу памяти, уже адресуемому другим именем. Псевдонимы используются при передаче параметров ByRef, которые ссылаются на одну переменную. Использование этой опции позволяет компилятору реализовать оптимизации, которые иначе выполнить невозможно, например хранение переменных в регистрах и оптимизации циклов. Однако это может обусловливать неправильное выполнение программы, поэтому, если параметры передаются по ссылке, использовать эту опцию следует осторожно.
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). Выбор этой опции позволяет компилятору, когда это позволяет выполнить операцию более эффективно, производить сравнения с плавающей запятой до округления. Это повышает быстродействие некоторых операций с плавающей запятой. Однако это может привести к тому, что вычисления будут производиться с более высокой точностью, чем ожидается, и два значения с плавающей запятой, которые могли бы считаться равными, не будут таковыми.

С компиляцией проблем возникнуть не должно.

Вот мы с вами и добрались до заключения.



..........................................................................................................................

[ Главная ] [ Диски ] [ Книги ] [ Архив рассылки ] [ Архив новостей ] [ Готовые кусочки программ ] [ Карта сайта ]
..........................................................................................................................

По страницам сайта Visaul Progs
или Изучение Visual Basic
Рассылка 'По страницам сайта Visaul Progs' >>> Подпишись на рассылку - будешь получать новые статьи , примеры и много полезной информации из первых рук!!! >>>Если у вас есть статья которой нет на сайте
пришлите ее мне-------->
Послать статью
>>>Если вы хотите задать вопрос
пишите-------->
Мне нужна помощь


Рейтинг сайтов YandeG Rambler's Top100
Реклама:

...:::Design by Mystf0rse 2005-2010 year:::...