从汇编语言调用C程序,汇编程序、c/c++程序间的相互调用

汇编程序、c/c++程序间的相互调用

来源:华强电子网

作者:华仔

浏览:1107

时间:2016-08-10 14:18

标签:

摘要:

3.汇编程序、c/c++程序间的相互调用  汇编程序、c程序及c++程序在相互调用时,特别应注意遵守相应的atpcs规则。下面举一些例子具体说明在这些混合调用中应注意遵守的atpcs规则。  (1)c程序调用汇编程序  汇编程序的设计要遵守atpcs规则,保证程序调用时参数的正确传递。在汇编程序中使用export伪指令声明本程序,使得本程序可以被别的程序调用;在c语言中使用extern关键词声明该

3.汇编程序、c/c++程序间的相互调用  汇编程序、c程序及c++程序在相互调用时,特别应注意遵守相应的atpcs规则。下面举一些例子具体说明在这些混合调用中应注意遵守的atpcs规则。  (1)c程序调用汇编程序  汇编程序的设计要遵守atpcs规则,保证程序调用时参数的正确传递。在汇编程序中使用export伪指令声明本程序,使得本程序可以被别的程序调用;在c语言中使用extern关键词声明该汇编程序。下面是一个c程序调用汇编程序的例子。其中,汇编程序strcopy实现字符串复制功能,c程序调用strcopy完成字符串的复制工作。  (2)汇编程序调用c程序  汇编程序的设计要遵守atpcs规则,保证程序调用时参数的正确传递。在汇编程序中使用import伪指令声明将要调用的c程序。下面是一个汇编程序调用c程序的例子。其中,在汇编程序中设置好参数的值,本例子中有5个参数,分别使用寄存器r0存放第1个参数,ri存放第2个参数,r2存放第3个参数,r3存放第4个参数,第5个参数利用数据栈传送。由于利用数据栈传递参数,因此在程序调用结束后要调整数据栈指针。  (3)c++程序调用c程序  c++程序调用c程序时,在c程序中使用关键词extern"c"声明被调用的c程序。对于c++中的类或者结构,如果它没有基类和虚函数,则相应对象的存储结构和arm c相同。下面的例子说明了这一点。  (4)汇编程序调用c++程序  在汇编程序中使用伪指令import声明被调用的c++程序。在汇编程序中将参数存放在数据栈中,而存放参数的数据栈的单元地址放在r0寄存器中,这样被调用的c++程序就能访问相应的参数。下面的例子说明了这一点。

分享到:

上一篇:已经是第一篇

eb16ac850798d72e084e2c3ed33ff707.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值