导航:首页 > 软件知识 > c语音子程序如何调用

c语音子程序如何调用

发布时间:2023-09-02 20:17:52

‘壹’ C语言的子程序该怎么调用

我没学过VB,但是C里的子函数都是你调用才运算的呀,函数的类型就是返回值的类型,如float count(int a){。。。;return z;}就定义了一个返回值为float型的函数

‘贰’ C语言中如何调用汇编子程序给个例子讲解下

你是指内联汇编吧?比如下面这个例子:

#include<stdio.h>
intfunc(inta,intb)
{
returna-b;
}
intmain()
{
//计算12-5
inta=12,b=5;//给定两个数
intres;//用来记录结果
__asm{//内联汇编
pushb;//b压栈
pusha;//a压栈,注意C中函数接受参数的时候入栈是反着的
callfunc;//调用函数func,返回值保存在eax里
movres,eax;//将eax里的值赋给res
}
printf("%d ",res);//输出结果,得到7
return0;
}

‘叁’ arm 如何调用子程序,就是用c语言写的,好像有许多格式控制,不是很明白,请指教

用C语言写的ARM程序调用C函数和普通的C语言格式一样,没有特殊的地方;
如果用C语言调用ARM的汇编,则有规则。
在C程序和ARM汇编程序之间相互调用时必须遵守ATPCS(ARM-THUMB procere call standard )规则。ATPCS规定了一些子程序间调用的基本规则,比如:
寄存器的使用规则
子程序之间通过寄存器r0~r3来传递参数,当参数个数多于4个时,使用堆栈来传递参数。
在子程序中,使用寄存器r4~r11保存局部变量。
寄存器r12用于保存堆栈指针SP,当子程序返回时使用该寄存器出栈,记作IP。寄存器r13用作堆栈指针,记作SP。寄存器r14称为链接寄存器,记作LR。该寄存器用于保存子程序的返回地址。寄存器r15称为程序计数器,记作PC。  
堆栈的使用规则
堆栈采用满递减类型(FD,Full Descending),即堆栈通过减小存储器地址而向下增长,堆栈指针指向内含有效数据项的最低地址。
参数的传递规则
整数参数的前4个使用r0~r3传递,其他参数使用堆栈传递;
子程序的返回结果为一个32位整数时,通过r0返回;返回结果为一个64位整数时,通过r0和r1返回;依此类推。
汇编程序调用C程序的方法为:首先在汇编程序中使用IMPORT伪指令事先声明将要调用的C语言函数;然后通过BL指令来调用C函数。
C程序调用汇编子程序的方法为:首先在汇编程序中使用EXPORT伪指令声明被调用的子程序,表示该子程序将在其他文件中被调用;然后在C程序中使用extern关键字声明要调用的汇编子程序为外部函数。

‘肆’ C语言中如何调用子程序

在c/c++中,没有子程序的说法,而叫做函数。函数可以有返回值,不需要时,可定义为void类型。
函数的使用与子程序的用法相同,没有什么特殊之处。例如
.............................................................................
int
max(int
a,
int
b)
{
/*
返回a和b的最大值
*/
return
(a
>
b)
?
a
:
b;
}
.............................................................................
int
a
=
5,b
=
8,c
=
3;
printf("a,b,c中的最大值是
:
%d\n",max(max(a,b),c);

阅读全文

与c语音子程序如何调用相关的资料

热点内容
如何去除手机程序的广告 浏览:358
五一节去哪里找工作招聘信息 浏览:515
中控考勤机如何读取数据 浏览:298
怎么微信里发布顺风车信息 浏览:259
深圳石岩人才市场在哪里 浏览:409
淘宝优酷检测代理怎么办 浏览:624
如何抠产品图里面的字 浏览:485
学籍里教师信息怎么添加 浏览:911
激活锁的数据是储存在哪个位置 浏览:573
煤炭生产技术员是干什么 浏览:448
消化内科有什么新技术 浏览:404
怎么发送加密微信信息 浏览:356
苹果怎么备份游戏数据 浏览:548
财务代理要哪些条件 浏览:830
申请优秀团员为什么要财务信息 浏览:984
郑州市科技市场怎么走 浏览:907
银川哪个市场好 浏览:756
代理怎么找到厂家 浏览:104
怎么找到当贝市场下载的安装包 浏览:629
ourplay安装程序怎么卸载 浏览:666