Assembly 如何在x86_64 asm中调用malloc

Assembly 如何在x86_64 asm中调用malloc,assembly,malloc,x86-64,masm,msvcrt,Assembly,Malloc,X86 64,Masm,Msvcrt,我试图在VisualStudioCommunity 2019 assembly中调用malloc,但我一直得到对符号malloc的未定义引用 mov rcx,10h call malloc 在获取对malloc的未定义引用时不编译 我甚至用同样的问题与_malloc一起尝试过。 我缺少某种类型的包含吗?这是通过在数据部分添加一个extern来解决的 .data extern malloc: proc .code ;Some code; 如果这真的解决了你的问题,你应该接受你的答案!我得等两

我试图在VisualStudioCommunity 2019 assembly中调用malloc,但我一直得到对符号malloc的未定义引用

mov rcx,10h
call malloc
在获取对malloc的未定义引用时不编译 我甚至用同样的问题与_malloc一起尝试过。
我缺少某种类型的包含吗?

这是通过在数据部分添加一个extern来解决的

.data
extern malloc: proc
.code 
;Some code;

如果这真的解决了你的问题,你应该接受你的答案!我得等两天哦,那我的错了。我忘了等待的时间太长了。没关系。你确定
外部malloc:proc
必须在
中。data
?这看起来很奇怪,除非在声明位置创建了动态链接的占位符(间接调用的指针)。我不使用MASM,但在其他操作系统的其他汇编程序中,例如NASM,
extern malloc
可以在任何地方,只是一个与当前部分没有交互的指令。如果您引用了确切的错误消息,这将是一个更好的问题,因此很明显它是来自汇编程序,而不是在链接时。(如果您声明了
extern malloc
,但没有链接到C库,那么在成功组装之后,链接时可能会出现某种未定义的引用。)