· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Странное поведение MASM'а

Посл.отвђт Сообщенiе


Дата: Ноя 5, 2004 02:10:24

Столкнулся с такой штукой. Есть вот такая тупая программа
.386
.model flat, stdcall

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

.data

MessageBoxCaption    db "Caption",0
MessageBoxText        db "Some text",0

.code
start:
        invoke MessageBox , NULL, addr MessageBoxText, addr MessageBoxCaption, MB_OK
        invoke ExitProcess, 0
end start


Если ее компилить так:
ml /c /coff msgbox.asm

то все нормально, а если так:
ml /c /coff "msgbox.asm"

то в obj-файле, помимо _MessageBoxA@16 и _ExitProcess@4, появляется ссылка на _wsprintfA. В чем тут прикол?


Дата: Ноя 5, 2004 12:51:32

Кавычки здесь не при чем. А wsprintfA попадает (в любом случае) в объектник, потому что в windows.inc есть такое:

wsprintfA PROTO C :DWORD,:VARARG
wsprintf equ <wsprintfA>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.078