导航:首页 > 软件知识 > 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语音子程序如何调用相关的资料

热点内容
怎么代理体育彩票 浏览:529
交易猫一般多久完成交易 浏览:16
应用程序有什么用 浏览:840
扶贫助手微信小程序填错怎么改 浏览:60
西大街到枣园家具市场怎么坐车 浏览:1002
鼓楼菜市场有哪些 浏览:297
唯品会程序异常时怎么回事 浏览:81
nba2k20怎么交易明星球员 浏览:60
海康威视一级代理有哪些 浏览:806
mes数据互通有哪些 浏览:954
你是如何获取房屋信息的 浏览:465
安全系统的技术是什么 浏览:689
怎么介绍医院信息 浏览:130
拼多多的测图数据哪里看 浏览:892
如何评价梁宁产品思维 浏览:291
kpl数据分析师干什么的 浏览:803
中国卖的好的外国产品有哪些 浏览:206
金融交易的核算是什么 浏览:986
相亲一天后怎么发信息 浏览:991
有什么小程序可以分析商业圈 浏览:243