// 64비트에서는 가변인자 전달 구조가 완전 다름
#include
#include
int fun(int a, ...){
va_list va;
int wow;
va_start(va, a);
printf("%d\n", *(int*)va);
va_end(va);
__asm__ __volatile__ (
"mov %%ebp, %%eax \n\t"
"add $12, %%eax \n\t"
"mov %%eax, %0 \n\t"
: "=m"(wow));
printf("%d\n", *(int*)wow);
}
void main(){
int a = 1;
fun(a,2,3,4);
}
#결과
2
2
댓글 없음:
댓글 쓰기