gpt4 book ai didi

c - 如何从汇编调用 C 函数

转载 作者:行者123 更新时间:2023-12-02 08:16:39 25 4
gpt4 key购买 nike

我正在 Visual Studio 2012 中编写 x86 程序集。

我试图从汇编程序中调用 printf,但只要包含 EXTERN 行,它就会抛出错误。这可能是非常愚蠢的事情,比如包含 C 函数库,但我找不到任何在线资源来告诉我如何正确地做到这一点。

这是我的代码:

.model flat

EXTERN _printf

.data

digits byte "0" dup (10), 0

.code

main proc

lea eax, digits
push eax
call _printf
add esp, 4

main endp

END

抛出的错误是:

error A2008: syntax error : in directive

第 3 行(带有 EXTERN 的行)

编辑:添加有关环境的信息(第一行)。

最佳答案

按照评论,使用

        extern  _printf:proc

或者如果是 32 位模式,您可能需要使用:

        extern  _printf:near

外部可能需要放置在 .code 部分。

还要在源代码顶部附近添加这两行,以使链接器在这些库中查找。

        includelib   msvcrtd
includelib oldnames

关于c - 如何从汇编调用 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33488725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com