Читаем Assembler & Win32 полностью

!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

Перейти на страницу:

Похожие книги

Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных