问题描述
- 如何使用内嵌汇编引用c函数
-
main.c#include<stdio.h> #include<stdlib.h> extern int sum(int); int main(int argc, char __stdcall**argv) { int i; if (argc < 2) { printf("usage: main number "); return -1; } i = atoi(argv[1]); __asm { // 计算并输出sum(i)的值 } return 0; }
sum.c
#include<stdio.h> int sum(int num) { __asm { // 返回 1+2+…+i的值 mov eax, num add eax, 1 imul num mov ebx, 2 idiv ebx mov num, eax } printf("%d ", num); return num; }
解决方案
mov eax,i
push eax
call sum
我这样写的 会报错误
解决方案二:
问题解决了 谢谢楼上
解决方案三:
vs2005内嵌汇编的使用:标准的c/c++函数的调用和非标准的c/c++函数的调用以及变量的引用
时间: 2024-08-15 13:05:50