DSP编程技巧---C/C++与汇编语言的交互之-使用编译器的内联函数

C/C++汇编语言混合编程的情况下,一般我们都会选择C/C++来实现所期待的功能。在我们用C/C++来实现某些位操作、数学运算等功能后,编译器会尽可能地把它们编译为一些已经高度优化的汇编函数(内联函数),一般情况下是一条或者多条汇编指令的集合,在封装之后,我们可以在C/C++编程的时候直接使用这样的内联函数。如果不直接使用它们,那么在单步调试的时候,也可以从C/C++代码编译生成的汇编代码中找到对应的内联函数,能够帮助我们加深对编译和代码执行的理解。这些编译器的内联函数都有一个显著的外观,即以两个下划线作为开头,而使用方法则与C/C++编程中函数的调用形式是一样的。例如:

  long lvar;

  int ivar;

  unsigned int uivar;

  lvar = __mpyxu(ivar, uivar);

  下面我们就列举一下TMS320C28x C/C++ 编译器的内联函数。为了方便对比说明,表格并不是完全安装函数名的字母顺序来排列的。

  表1 TMS320C28x C/C++ 编译器的内联函数列表






表2 TMS320C28x C/C++ 编译器的内联函数列表-面向FPU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值