您的位置: OpenADSP社区论坛 -> SHARC/TigerSHARC专区 -> 新手上路 -> 21489的C编译器,sizeof问题
本帖共有73个阅读者
发表帖子 发表投票 回复主题
21489的C编译器,sizeof问题
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
21489的C编译器,sizeof问题
客户提出的问题,并找到了答案,我觉得比较有意义,记录一下:

问:你有注意到ADI这些例程里面的sizeof(数组)返回的是数组的个数,而不是数据占用的字节数,这个问题吗

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2023/3/18 11:07:54
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
就是说,标准C库,int a[10];    sizeof(a) 应该等于40,就是说占用了40个字节。但是例程里返回的是10。 我以为它是做了宏替换除了一个sizeof(int),但是我用char b[10],测试, 发现它sizeof(b) = 10,  ADI把编译器改了。

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2023/3/18 11:08:34
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
通过查阅ADI的编译器文档,发现了问题所在,是编译器修改了,但这导致 它和标准c有冲突了。

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2023/3/18 11:08:57
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
50_21k_cc_mn_rev_1.5.pdf   在这个文档里。这是VisualDSP++的说明文档。

C/C++ Compiler Manual
for SHARC® Processors

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2023/3/18 11:13:52
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154110 Call, 1 Queries, Processed in 0.029297 second(s),