如何从c++调用ASM函数

问题描述 投票:0回答:1

我尝试从 C++ 调用 ASM 函数,但收到错误“未解析的外部符号引用”

我的C++代码:

extern void foo();

int main() {
    foo();
    return 0;
}

我的asm代码:

section .text
global foo
foo:
    ret

我尝试在 ASM 函数名称中添加 _ 并将编译器更改为 MASM 但仍然不起作用。我期待它调用该函数。

c++ windows visual-studio assembly x86-64
1个回答
0
投票

我通过添加头文件并将文件扩展名更改为 asm 并稍微更改 asm 代码来解决该问题

C++代码

extern "C" void foo();

int main() {
    foo();
}

ASM代码

.code

foo PROC
ret
foo ENDP

END
© www.soinside.com 2019 - 2024. All rights reserved.