第8章汇编语言与C的混合编程.pptVIP

  • 1
  • 0
  • 约8.97千字
  • 约 36页
  • 2017-07-16 发布于四川
  • 举报
(8)嵌入汇编不仅可以编写C∕C++函数,还可以调用C函数(包括C库函数)和非重载的全局C++函数,也可以调用任何用extern C说明的函数,但不能调用C++的成员函数。因为所有的标准头文件都采用extern C说明库函数,所以C++程序中的嵌入式汇编可以调用C库函数。 (9)汇编语句通过参数名就可以引用参数,采用return语句返回出口参数。返回值的约定是:对于小于等于32位的数据扩展为32位,存放在EAX寄存器中返回;4~8字节的返回值存放在EDX.EAX寄存器对中返回;更大字节数据则将它们的地址指针存放在EAX中返回。 8.3.2 调用汇编语言模块 1)采用一致的调用协议 Visual C++语言具有3种调用协议(calling convention):_cdecl、_stdcall和_fastcall。 Visual C++默认的是_cdecl方式,按从右至左的顺序压参数入栈,由调用者把参数弹出栈,而传送参数的内存栈是由调用者来维护的,返回值在EAX中。 Windows API则采用_stdcall方式,按从右至左的顺序压参数入栈,由被调用者把参数弹出栈,而传送参数的内存栈是由被调用者来维护的,返回值在EAX中。_stdcall调用约定在输出函数名前加上一个下划线前缀,后面加上一个“@”符号和其参数的字节数 _fastcall调用的主要特点是速度快,因为它是通过寄

文档评论(0)

1亿VIP精品文档

相关文档