Выбрать главу

Приложение 1. Файлы, необходимые для первого примера

Файл констант ресурсов resource.inc

IDD_DIALOG   =      65     ; 101

IDR_NAME     =      3E8    ; 1000

IDC_STATIC   =      -1

Файл заголовков resource.h

#define IDD_DIALOG                      101

#define IDR_NAME                        1000

#define IDC_STATIC                      -1

Файл определений dlg.def

NAME         TEST

DESCRIPTION  'Demo dialog'

EXETYPE      WINDOWS

EXPORTS      DlgProc                    @1

Файл компиляции makefile

#   Make file for Demo dialog

#       make -B

NAME   = dlg

OBJS   = $(NAME).obj

DEF    = $(NAME).def

RES    = $(NAME).res

TASMOPT=/m3 /mx /z /q /DWINVER=0400 /D_WIN32_WINNT=0400

!if $d(DEBUG)

TASMDEBUG=/zi

LINKDEBUG=/v

!else

TASMDEBUG=/l

LINKDEBUG=

!endif

!if $d(MAKEDIR)

IMPORT=$(MAKEDIR)\..\lib\import32

!else

IMPORT=import32

!endif

$(NAME).EXE: $(OBJS) $(DEF) $(RES)

       tlink32 /Tpe /aa /c $(LINKDEBUG) $(OBJS),$(NAME),, $(IMPORT), $(DEF), $(RES)

.asm.obj:

       tasm32 $(TASMDEBUG) $(TASMOPT) $&.asm

$(RES): $(NAME).RC

       BRCC32 -32 $(NAME).RC

Приложение 2. Файлы, необходимые для второго примера

Файл описания mylib.def

LIBRARY      MYLIB

DESCRIPTION  'DLL EXAMPLE, 1997'

EXPORTS      Hex2Str             @1

Файл компиляции makefile

#   Make file for Demo DLL#   make –B#   make –B –DDEBUG for debug information

NAME   = mylib

OBJS   = $(NAME).obj

DEF    = $(NAME).def

RES    = $(NAME).res

TASMOPT=/m3 /mx /z /q /DWINVER=0400 /D_WIN32_WINNT=0400

!if $d(DEBUG)

TASMDEBUG=/zi

LINKDEBUG=/v

!else

TASMDEBUG=/l

LINKDEBUG=

!endif

!if $d(MAKEDIR)

IMPORT=$(MAKEDIR)\..\lib\import32

!else

IMPORT=import32

!endif

$(NAME).EXE: $(OBJS) $(DEF)

       tlink32 /Tpd /aa /c $(LINKDEBUG) $(OBJS),$(NAME),, $(IMPORT), $(DEF)

.asm.obj:

       tasm32 $(TASMDEBUG) $(TASMOPT) $&.asm

$(RES): $(NAME).RC

       BRCC32 -32 $(NAME).RC

Приложение 3. Файлы, необходимые для третьего примера

Файл описания dmenu.def

NAME         TEST

DESCRIPTION  'Demo menu'

EXETYPE      WINDOWS

EXPORTS      WndProc                    @1

Файл ресурсов dmenu.rc

#include "resource.h

"MyMenu MENU DISCARDABLE

BEGIN    POPUP "Files"

    BEGIN

        MENUITEM "Open",                        ID_OPEN

        MENUITEM "Save",                        ID_SAVE

        MENUITEM SEPARATOR

        MENUITEM "Exit",                        ID_EXIT

    END

    MENUITEM "Other",                           65535

END

Файл заголовков resource.h

#define MyMenu                          101

#define ID_OPEN                         40001

#define ID_SAVE                         40002

#define ID_EXIT                         40003

Файл компиляции makefile

#   Make file for Turbo Assembler Demo menu

#       make –B

#       make -B -DDEBUG -DVERN    for debug information and version

NAME   = dmenu

OBJS   = $(NAME).obj

DEF    = $(NAME).def

RES    = $(NAME).res

!if $d(DEBUG)

TASMDEBUG=/zi

LINKDEBUG=/v

!else

TASMDEBUG=/l

LINKDEBUG=

!endif

!if $d(VER2)

TASMVER=/dVER2

!elseif $d(VER3)

TASMVER=/dVER3

!else

TASMVER=/dVER1

!endif

!if $d(MAKEDIR)

IMPORT=$(MAKEDIR)\..\lib\import32

!else

IMPORT=import32

!endif

$(NAME).EXE: $(OBJS) $(DEF) $(RES)

       tlink32 /Tpe /aa /c $(LINKDEBUG) $(OBJS),$(NAME),, $(IMPORT), $(DEF), $(RES)

.asm.obj:

       tasm32 $(TASMDEBUG) $(TASMVER) /m /mx /z /zd $&.asm

$(RES): $(NAME).RC

       BRCC32 -32 $(NAME).RC