【发布时间】:2015-12-10 18:56:16
【问题描述】:
crt_printf, crt_scanf, ExitProcess
环境路径为 masm32v11r 的 Windows 7
在.asm 文件中,我想调用crt_printf 来打印(或调用ExitProcess 来结束主程序)。但是我的代码是:
.386
.model flat,stdcall
option casemap:none
includelib D:\masm32\lib\msvcrt.lib
printf proto C:dword,:vararg
scanf proto C:dword,:vararg
.DATA
print_int DB "%d",0
print_char DB "%c",0
我的通话程序是:
PUSH offset __temp13@_cal@main
PUSH offset print_string
CALL crt_printf
ADD ESP, 8
PUSH _realCock@main
PUSH offset print_int
CALL crt_printf
ADD ESP, 8
PUSH offset __temp14@_cal@main
当我点击build All的按钮时,消息会出现:
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
Assembling: D:\masm32\bin\object_code.asm
D:\masm32\bin\object_code.asm(105) : error A2006: undefined symbol : crt_printf
D:\masm32\bin\object_code.asm(109) : error A2006: undefined symbol : crt_printf
D:\masm32\bin\object_code.asm(179) : error A2006: undefined symbol : crt_scanf
D:\masm32\bin\object_code.asm(249) : error A2006: undefined symbol : ExitProcess
Assembly Error
我已经为这样的错误苦苦挣扎了 24 小时,谢谢!
【问题讨论】: