zoukankan      html  css  js  c++  java
  • Picc 代码优化

    使用PICC时,为了更有效的利用资源,应注意以下几点:
    (1) 尽量使用无符号数和字节变量。
    (2) 在寄存器资源允许的情况下,对某些对执行效率要求较高的平级无相互调用函数中用到的内部变量,可将其定义为全局临时变量,编程时覆盖使用,这样可减少很多编译代码。而对于中断函数内部用到的变量,可用全局变量
    (3) 寄对于有一定汇编经验的人在开始使用PICC时,应多注意观看经编译后产生的汇编源代码,并应经常观看经正确编译连接后产生的映象文件(.MAP文件),在该文件中详细列出了分配给变量和代码的地址和生成代码的大小等信息。使用者可了解代码是否优化,变量分配是否合理,堆栈是否溢出等,从而写出高效简洁的C源代码。
    (4) 对于有一定汇编经验的人在开始使用PICC时,应多注意观看经编译后产生的汇编源代码,并应经常观看经正确编译连接后产生的映象文件(.MAP文件),在该文件中详细列出了分配给变量和代码的地址和生成代码的大小等信息。使用者可了解代码是否优化,变量分配是否合理,堆栈是否溢出等,从而写出高效简洁的C源代码。
    (5) PICC在好多情况下,不支持类型强制转换,即在类型不匹配时须查验编译后的汇编代码,看是否正确,尤其是对指针操作的时候一定要注意。
    (6) 对某位变量自操作时,比如求反,不可以直接简写,例如: !flag;
    编译后不能正确产生代码,而须写成:flag = !flag;
    (7) 尽量选择全局优化编译选项,为保证寄存器页(包括程序存储期页面和RAM寄存器页)的正确转换,PICC的编译代码中有大量的变换寄存器页的代码,选择全局优化PICC会优化去大有关RP0、RP1、PCLAPH所增加的变换代码,从而加快程序执行速度,并节省大量的程序空间。
    (8) 若有某一代码很短的函数被多个函数经常调用,最好将其定义为宏,因为若函数代码很短时,由于被调函数和调用函数不在同一代码页所产生的附加代码可能都会超过函数代码本身的长度。

  • 相关阅读:
    当前流行的智能硬件产品整理
    一个桌面视频录制利器推荐--Snagit
    微信支付---退款的坑
    微信支付退款证书服务器配置
    Git安装和TortoiseGit详细使用教程【基础篇】
    通俗易懂,什么是.NET Core以及.NET Core能做什么
    向ASP.NET Core迁移
    SQLServer 查看SQL语句的执行时间
    SqlServer 2014 Enterprise 企业版下载与安装教程(附图片)
    SQL Server表分区
  • 原文地址:https://www.cnblogs.com/aipeli/p/390865.html
Copyright © 2011-2022 走看看