码迷,mamicode.com
首页 > 其他好文 > 详细

97函数调用的约定

时间:2018-06-05 23:19:55      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:语言   cells   pause   rename   重命名   size   AC   str   style   

复制文件  fopen
重命名
删除文件

remove   删除文件

 

#include<stdio.h>
#include<stdlib.h>
void main(){
remove("1.txt");
system("pause");
}

 


rename  重命名

 

#include<stdio.h>
#include<stdlib.h>
void main(){
rename("1.txt","2.txt");
system("pause");
}

 


我们刚开始学习C语言的时候,通过给大家反汇编.
我们知道参数可以通过寄存器传递,也可以通过栈,还可以混合使用.

 调用约定  压栈顺序  平衡堆栈
 __cdecl  右->左  调用者清理栈  外平栈
 __stdcall  右->左  自身清理栈     内平栈
 __fastcall  ECX/EDX传送前两个,剩下的右到左  自身清理栈     内平栈


返回值都是EAX

调用约定,是给编译器看的,通过编译器生成的汇编代码是什么样子的.
1.怎么样传递参数.
2.怎么样平衡堆栈.

上面几种只是常见的,如果我们经常写完代码,反汇编看的话,有时候会发现调用约定不是以上的任何一种.

97函数调用的约定

标签:语言   cells   pause   rename   重命名   size   AC   str   style   

原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/9142305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!