Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Explanations of the situation why there is no video
StarCraft II: Wings of Liberty |#14| The Moebius Factor
StarCraft II: Wings of Liberty |#13| Breakout
StarCraft II: Wings of Liberty |#12| In Utter Darkness

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Различные авторы Весь текст 2311.07 Kb

Программирование и кодирование

Предыдущая страница Следующая страница
1 ... 179 180 181 182 183 184 185  186 187 188 189 190 191 192 ... 198
        IF (%TYPE%)==(EXe) SET TYPE=EXE
        IF (%TYPE%)==(eXE) SET TYPE=EXE
        IF (%TYPE%)==(EXE) goto :DOASM
      rem
        IF (%TYPE%)==(c)   SET TYPE=COM
        IF (%TYPE%)==(C)   SET TYPE=COM
        IF (%TYPE%)==(co)  SET TYPE=COM
        IF (%TYPE%)==(Co)  SET TYPE=COM
        IF (%TYPE%)==(cO)  SET TYPE=COM
        IF (%TYPE%)==(CO)  SET TYPE=COM
        IF (%TYPE%)==(com) SET TYPE=COM
        IF (%TYPE%)==(Com) SET TYPE=COM
        IF (%TYPE%)==(cOm) SET TYPE=COM
        IF (%TYPE%)==(coM) SET TYPE=COM
        IF (%TYPE%)==(COm) SET TYPE=COM
        IF (%TYPE%)==(cOM) SET TYPE=COM
        IF (%TYPE%)==(COM) goto :DOASM
      rem
        GOTO :ASKTYPE
      :DOASM
      IF (%MASM%)==() SET MASM=/S/P/V/L%MASM%
      IF not (%MASM%)==() ECHO MASM командная строка переключается в: %MASM%
      ECHO on
      MASM %F1%.asm;
      @ECHO off
      IF errorlevel 1 goto :NOASSEM
      REM
      IF (%TYPE%)==(OBJ) goto :LSTFILES
      IF (%LINK%)==() SET LINK=/I/CP:1%LINKS%
      IF not (%LINK%)==() ECHO Link командная строка переключается в: %LINK%

                                      - П-6 -
      ECHO on
      LINK %F1%.obj,%F1%.exe;
      @ECHO off
      IF errorlevel 1 goto : NOLINK
      IF exist %F1%.obj DEL %F1%.obj >nul:
      REM
        IF (%TYPE%)==(COM) EXE2BIN %F1%.exe %F1%.com >nul:
        IF (%TYPE%)==(COM) goto :DEL_EXE
        GOTO :LSTFILES
      :DEL_EXE
        IF exist %F1%.exe DEL %F1%.exe >nul:
      :LSTFILES
        IF exist %F1%.bak DEL %F1%.bak >nul:
        DIR %F1%.*
        GOTO :END
      :NOPARM
        ECHO Параметр не указан!
        GOTO :END
      :NOFILE
        ECHO Файл "%F1%.ASM" не существует!"
        GOTO :END
      :NOASSEM
        ECHO Ошибка ассемблера при трансляции!
        GOTO :END
      :NOLINK
        ECHO Ошибка при редактировании связей!
      :END
        SET F1=
        SET TYPE=
        SET MASM=
        SET LINK=
        SET MASMS=
        SET LINKS=
         ----------------------------------------------------------------
              Отметим, что командный файл МК.BAT использует некоторые  не-
         печатаемые в коде ASCII символы: ESC (переход) в коде ASCII пока-
         зан, как ^[, а BS (возврат) в коде ASCII показан, как ^H.
              В процессе создания командного файла МК.BAT программа-редак-
         тор и программа  текстовой  обработки,  которые  Вы  используете,
         должны  обеспечить  возможность  вставки  этих  символов в данный
         текст.
              Начало листинга показывает использование команды @  ECHO off
         операционной системы MS-DOS версии 3.3, результатом которой явля-
         ется  выключение  режима вывода на экран исполняемых команд,  при
         этом и сама строка ECHO off на экран выводиться не будет.
              Однако, если  Вы работаете с более ранней версией операцион-
         ной системы MS-DOS,  то можно использовать управляющую последова-
         тельность  стандарта  ANSI,  показанные  в нескольких последующих
         строках листинга.
              Управляющая последовательность стандарта  ANSI  используется
         только  тогда,  когда  драйвер  устройства ANSI.SYS загружается в
         процессе первоначальной загрузки системы.
              Символ возврата  в коде ASСII используется с целью отображе-
         ния операционной системой MS-DOS пустой строки в процессе  выпол-
         нения  данного  файла:  результатом  оператора  "ECHO^H" является

                                      - П-7 -
         отображение пустой строки во всех версиях операционной системы
         MS-DOS.
              Командный файл МК.BAT использует программу общего  пользова-
         ния,  называемую ANSWER.COM. Эта программа используется для отоб-
         ражения приглашения операционной системы MS-DOS,  означающего го-
         товность  операционной  системой к приему команд;  в ответ на это
         приглашение любой вводимый текст назначается переменной окружения
         ANSWER.
              Ввод в ответ на запрос может быть затем проверен в командном
         файле путем использования в операторе %ANSWER%.

                  Использование средства MAKE фирмы "Майкрософт"
              Утилита сопровождения программы фирмы "Майкрософт", называе-
         мая MAKE,  может использоваться с целью  значительного  повышения
         уровня автоматизации разработки программ.
              Утилита MAKE используется для автоматического обновления го-
         тового к выполнению файла всякий раз,  когда вносятся изменения в
         один или более ее исходных объектных файлов; кроме того с помощью
         этой утилиты можно обновлять любой файл всякий раз, когда вносят-
         ся изменения в другие смежные файлы.
              Чтобы использовать  утилиту  MAKE,  необходимо создать "файл
         описаний", содержащий команды для утилиты MAKE по построению дан-
         ного проекта.
              К примеру,  если вы хотите создать с  помощью  утилиты  MAKE
         программу, называемую TEST1.EXE, файл описания утилиты MAKE может
         содержать операторы, показанные в листинге A-4.

                  Листинг A-4. Пример файла описания утилиты MAKE
         ----------------------------------------------------------------
             # Стандартная строка команды с текстом макроопределений
             f1=test1               # имя файла, подлежащего созданию
             msm=masm /S /P /V /L   # переключатели  (операторы выбора)
                                    # строки команд макроассемблера MASM
             lnk=link /CP:1 /I      # переключатели (операторы выбора)
                                   # строки команд редактора связей LINK
             #
             # Перечень файлов ASM
             $(f1).obj: $(f1).asm
                 $(msm) $(f1).asm;
             #
             $(f1).exe: $(f1).obj
                 $(lnk) $(f1).obj,$(f1).exe;
                 DEL $(f1).obj
         ----------------------------------------------------------------

              Файл описания утилиты MAKE обычно имеет то же имя, что и го-
         товый к выполнению файл,  но без расширения.  Таким образом, если
         готовый к выполнению файл называется ТЕSТ1.EXE,  то файл описания
         утилиты MAKE,  используемый для создания программы ТЕSТ1.EXE, на-
         зывается просто ТЕSТ1.
              Чтобы создать или обновить программу ТЕSТ1.EXE,  просто вве-
         дите "MAKE ТЕSТ1".

              Файл описания утилиты MAKE, показанный в листинге A-4, имеет
         следующие характеристики:

                                      - П-8 -
              - Любой текст, который начинается с символа #, является ком-
                ментарием и игнорируется утилитой MAKE в процессе обработ-
                ки;
              - "Техt="  представляет  макротекст,  который  присваивается
                строке с текстом,  что позволяет отображать этот  текст  в
                символическом виде по всему файлу описания. Пример, приве-
                денный в листинге A-4, показывает, что макротексту присва-
                ивается значение f1 в качестве имени файла программ, кото-
                рый должен обрабатываться.  Далее значение f1 используется
                на  протяжении остального файла описания с целью представ-
                ления данного файла программ в виде $(f1).  Если Вам необ-
                ходимо  изменить имя данного файла программ,  оно меняется
                только в одном месте, где значение f1 впервые присваивает-
                ся;
              - $(f1).OBJ - это имя первого  целевого  файла,  называемого
                "выходным файлом", а $(f1).ASM (который в данном примере в
                "test1.ASM") - это имя исходного файла, называемого "вход-
                ным  файлом".  Входной файл - это файл,  который требуется
                для создания выходного файла. Выходной файл всегда вводит-
                ся  первым,  за ним следует двоеточие,  за которым следует
                один или более входных файлов,  требуемых для создания вы-
                ходного  файла.  Если  выходной файл отсутствует или имеет
                отметку о времени и дате,  более раннюю чем,  связанный  с
                ним входной файл(ы),  то следующая строка в файле описания
                выполняется как команда  операционной  системы  MS-DOS  (в
                данном примере "$(msm)$(f1);",  которая будет оттранслиро-
                вана в "masm /s/p/v/l/test1;".

                     Если данный входной файл не существует,  то  средство
                MAKE  останавливает обработку в этой точке и выводит сооб-
                щение об ошибке;
             -  $(f1).EXE - имя конечного выходного файла,  а  $(f1).OBJ -
                имя требуемого входного файла. И снова, если файл $(f1).EXE
                (который транслируется в "test1.EXE") не существует или если
                он имеет отметку о времени и дате, более раннюю по сравнению
                с файлом $(f1).OBJ, то следующая строка выполняется как ко-
                манда  операционной  системы  MS-DOS $(lnk)$(f1);,  которая
                транслируется в "link/CP:1/I test1; в данном примере).
                     Если файл  $(f1).OBJ не существует,  то средство MAKE
                останавливает обработку и выводит сообщение об ошибке;
              - Файл описания,  может содержать любую команду операционной
                системы MS-DOS.  В конце примера показано,  как по команде
                DEL$(f1).obj   файл  $(f1).obj  (который  транслируется  в
                /test1.obj) должен быть удален, но только если процесс ре-
                дактирования связей был успешным.

              Средство MAKE способно отреагировать на коды ошибок, возвра-
         щаемые командами операционной системы MS-DOS  в  файле  описания.
         Например, если макроассемблер MASM выдал код возврата отличный от
         "0" (в данном примере $(msm) $(f1).asm;), средство MAKE остановит
         обработку  файла описания в этой точке и выведет на экран сообще-
         ние об ошибке.
              Если макроассемблер успешно проводит трансляцию данного фай-
         ла, однако редактор связей LINK возвратил ошибку, то команда уда-
         ления объектного файла (DEL$(f1).obj) не будет обработана.
              Средство MAKE является  отличным  средством  для  разработки

                                      - П-9 -
         проектов  программ,  особенно больших программных проектов.  Файл
         описания средства MAKE может содержать правила для многочисленных
         исходных  файлов,  а также объектных файлов; кроме того, он может
         описать использование нескольких различных ассемблеров,  компиля-
         торов,  редакторов связей и других средств,  а также и нескольких
         примеров с одинаковыми средствами.

              В случае  создания резервных копий или архивизации всех фай-
         лов больших проектов файл описания средства MAKE может быть также
         помещен в архив с тем,  чтобы в случае перепостроения проекта его
         легко можно было осуществить простым выполнением средства  MAKE и
         указанием файла описания.


            Использование шаблонов для создания .COM- и .EXE - программ

              Листинги A-5,  A-6 и A-7 могут оказаться полезными в началь-
         ной стадии разработки Вами программ.
              Листинг A-5 показывает формат для .EXE-программ с  промежут-
         ками для записи Вашего текста программы.
              Листинг A-6 показывает формат для .COM- файлов.
              Листинг A-7 содержит некоторые макрокоманды, которые могут
         оказаться полезными при написании или .EXE-,  или .COM  -  прог-
         рамм.  Некоторые макрокоманды могут быть или встроены в исходный
Предыдущая страница Следующая страница
1 ... 179 180 181 182 183 184 185  186 187 188 189 190 191 192 ... 198
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 

Реклама