历史上的今天

今天是:2024年11月13日(星期三)

2019年11月13日 | ARM编程时数据类型的影响

发布者:电竞狂人 来源: 51hei关键字:ARM  编程  数据类型 手机看文章 扫描二维码
随时随地手机看文章

这是我今天下午看那本<嵌入式系统开发——软件设计与优化>>所学到的东西。前面的关于ARM核的指令我就不讲了,只说下今天看的关于怎么提高C编程的效率,我还只看了那基本数据类型的定义时所应该要注意的事项,前面我在一篇<>已提到过内存的数据进入ARM核时要经过一个符号扩展,也就是说一个不足32位的数据经过内核会被扩展成32位的,那么我们在编程时就要注意咯,具体有以下几个方面:


1)我们如果在程序中定义了一个字符性的变量,那么编译器会对这个变量进行一个判别,就是这个字符变量值超过了255没,这样势必会增加一条指令,而我们如果用unsignedint,则可以省去那条多余的指令,

2)如果程序中有关于数组的操作时,我们尽量要用指针来操作,为什么呢,因为编译器对数组它分两条指令来实现数组的地址偏移,而用指针,它其实就是一个地址,偏移当然一条指令就够拉。

3)如果我们程序中有不同数据类型的数据直接运算时,这时我们要避免这种现象的发生,因为它会另外生成一条语句来实现数据位数的扩展,所以我们可以在他们计算完后,再统一用一条符号强制命令进行转换。

4)在进行乘除法运算时,如果变量能够用无符号型的,就不要用有符号的,因为无符号的运算在进行除法和乗法运算时编译器会尽量通过右移来实现,这样处理速度快

关键字:ARM  编程  数据类型 引用地址:ARM编程时数据类型的影响

上一篇:ARM内部逻辑结构见解
下一篇:最后一页

推荐阅读

集微网消息,罗永浩近日在成都举办了新品发布会,总共发布了加湿器、行李箱和智能音箱三款产品,其中最受欢迎的要数它家的行李箱了(官方名字为LEVEL8 地平线 8 号旅行箱),不仅价格便宜,外观设计好,还能录音、充电等,广受消费者欢迎,在11月11日当日销售中即荣登“双冠王”。在 京东商城箱包全品类排行榜中总销售额排名第一,单品销量排名第一。 ...
过去,高速光网络的调制方式就是简单地以高速率对光波幅度进行打开和关断便已足够满足需求。但是现在,光链路正在沿着无线通信所走过的路向更复杂的调制方式发展。复杂调制制式已经超越了开关键控的层次,开始使用幅度和相位信息对通信符码进行编码。光调制分析仪是适用于对目前此类光调制制式进行分析的仪器,它支持40G/100G/400G 的传输速率,是进...
2020年已接近尾声,但手机市场从来不缺少血雨腥风。华为公布麒麟9000,苹果推出A14处理器,拉开5nm处理器竞争序幕,高通骁龙875和三星Exynos 1080也在随后渐渐浮出水面。  尤其是在7nm时代相对比较边缘的三星,此前Exynos 1080一曝光直接以超过69万分的成绩屠榜,成为目前手机处理器的性能霸主,大有强势回归与其他品牌一决高低的气势。芯片...
面板大厂瀚宇彩晶副总裁吴旭浩表示,由于中国大陆制造商新产能将逐步投产,显示面板将在2022年出现供过于求。但由于韩国制造商将关闭一些LCD面板生产线,2023年可能会出现供应短缺。据《电子时报》报道,吴旭浩称,自2021年7月以来,LCD面板价格一直在下降,这一下降趋势将在2022年继续,但速度将放缓,因为中国大陆和台湾地区的制造商已经减少了产量,以...

史海拾趣

问答坊 | AI 解惑

什么是功率MOSFET?

我们都懂得如何利用二极管来实现开关,但是,我们只能对其进行开关操作,而不能逐渐控制信号流。此外,二极管作为开关取决于信号流的方向;我们不能对其编程以通过或屏蔽一个信号。对于诸如“流控制”或可编程开关之类的应用,我们需要一种三端器件 ...…

查看全部问答∨

降低FPGA功耗的设计技巧

使用这些设计技巧和ISE功能分析工具来控制功耗    新一代 FPGA的速度变得越来越快,密度变得越来越高,逻辑资源也越来越多。那么如何才能确保功耗不随这些一起增加呢?很多设计抉择可以影响系统的功耗,这些抉择包括从显见的器件选择到细小的基 ...…

查看全部问答∨

windows CE开发之基础入门

Windows CE开发之基础入门   最近一段时间,移动设备开发越来越多的成为了程序员社区的话题。移动设备主要包括智能手机和PDA,是嵌入式开发中很重要的一个方向。在智能手机领域被大多数手机厂商支持的J2ME无疑是领头羊,随着多普达推出了515手机 ...…

查看全部问答∨

把短信恢复回去后不能删除

我在写一个备份程序,数据成功备份出来了,恢复的时候也把删除了的短信(未读)写进去了,数据都正常. 但是我想删除恢复的短信,但是没有用.点击阅读能显示正常,但读完后出来,那个标志还是未读短信,但是在已删除邮件里这条短信却变成了已读. 这是什么原 ...…

查看全部问答∨

7146视频采集卡问题

请问有没有人做过7146芯片的视频采集卡驱动,刚开始接触驱动开发,对过程不是很了解…

查看全部问答∨

LM3S9B96 Development Board

有谁在使用LM3S9B96吗?   在LM3S9B96 Development Board 里的QVGA LCD是用它的GPIO来驱动LCD,为什么不用EPI啊?   GPIO来驱动LCD,那刷新LCD会不会太慢?…

查看全部问答∨

对学习使用MATLAB同学的几个建议

MATLAB是我们常用的工具。而快速学习和熟练掌握MATLAB对于高效完成工作很有意义。本文从亲身的经验出发,介绍一下怎样学习和使用MATLAB,这些办法都是已经被若干人证明很不错的。 1. 学习MATLAB的基础语法略过了。如果你不太确定,可以在command下 ...…

查看全部问答∨

双核F28M35的RAM问题

F28M35中单独的m3核中的ram区是怎么读写的?其中的ram分成了四个区,应该怎么使用ram呢?可以四个作为一个用吗?还是有什么说法?哪位大虾知道讲解下,如果能有个例程就更好了…

查看全部问答∨

关于功率放大的问题

现在我需要用单片机做一个100V、50Hz的三相交流电源,功率要求500w,单片机产生出的正弦波要经过功率放大电路才能把功率给提上来,这个功率放大器该如何做呢????…

查看全部问答∨

28022项目合作

28022项目合作,最好是在深圳的工程师,有意请加QQ:496269080…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved