【发布时间】:2021-03-02 08:13:13
【问题描述】:
我正在尝试使用 C 打印方法打印字符串,但它不打印任何内容。我可以打印数字,但是当我尝试使用字符串时它不起作用
.386
.model flat, stdcall
.stack 200h
option casemap :none
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
include \masm32\include\masm32rt.inc
dll_dllcrt0 PROTO C
printf PROTO C :VARARG
.DATA
_foo DB "String Contents",0
.CODE
START:
invoke printf, cfm$("%s"),_foo
END START
【问题讨论】:
-
只是猜测,但请尝试
OFFSET _foo。最好在末尾加上换行符以避免任何缓冲问题。 -
那解决了,谢谢。如何将问题标记为“已解决”?
-
为您自己的问题添加一个答案,然后几天后您就可以接受自己的答案了。
标签: assembly x86 printf masm masm32