说明
由于x64
下的vc
不支持_asm
内联汇编的写法。但是还是可以通过链接外部的汇编文件实现。
但是以下方法在x86
下反而会报错,原因未知。
foo.asm
public add
_text segment
add proc
mov eax, 8
ret 0
add endp
_text ends
end
fun.c
#include <stdio.h>
extern int add();
int main() {
int i = add();
printf("%d", i); //8
return 0;
}
编译链接
ml64 /c foo.asm
cl /c fun.c
link fun.obj foo.obj
fun