专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
DSP
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(61):__builtin
2019-07-13 17:25
发布
生成海报
站内文章
/
DSP
9675
0
1593
rev 0.1
快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI bf561 DSP
优视
BF561EVB
开发板
uclinux-2008r1.5-rc3(smp patch)
Visual DSP++ 5.0(update 5)
欢迎转载,但请保留作者信息
若您对本文有兴趣,可到
http://www.bfin-tools.org/bbs/viewthread.php?tid=15&extra
=参与讨论。
Gcc
的内建函数
__builtin_constant_p
用于判断一个值是否为编译时常数,如果参数
EXP
的值是常数,函数返回
1
,否则返回
0
。例如:
++++ include/asm-i386/bitops.h
249: #define test_bit(nr,addr) /
250: (__builtin_constant_p(nr) ? /
251: constant_test_bit((nr),(addr)) : /
252: variable_test_bit((nr),(addr)))
很多计算或操作在参数为常数时有更优化的实现,在
GNU C
中用上面的方法可以根据参数是否为常数,只编译常数版本或非常数版本,这样既不失通用性,又能在参数是常数时编译出最优化的代码。
在
VDSP5
中没有应的东西,因此直接在
config.h
中定义:
#define __builtin_constant_p(x)
(0)
1
参考资料
uclinux-2008R1.5-RC3(bf561)
到
VDSP5
的移植
(57)
:
bsz
(2009-2-3)
uclinux-2008R1.5-RC3(bf561)
到
VDSP5
的移植
(58)
:
_cplb_mgr
(2009-2-3)
uclinux-2008R1.5-RC3(bf561)
到
VDSP5
的移植
(59)
:
current_text_addr
(2009-2-10)
uclinux-2008R1.5-RC3(bf561)
到
VDSP5
的移植
(60)
:
KBUILD_MODNAME
(2009-2-10)
Ta的文章
更多
>>
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(61):__builtin
0 个评论
【linux下用C语言编写带图形界面的成绩管理系统附带源代码】
0 个评论
嵌入式Linux开发——(九)ADC和触摸屏
0 个评论
Altium Designer -- PCB布线面试题(转)
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮