高效的C编程之:C编译器及其优化(中) 2.冗余代码的清除下面例子显示了一段急待优化的代码。intdummy(){inta=10,b=20;intc;c=a+b;return0;}当使用arm–c–O0进行编译时,产生的汇编码如下所示。dummy:0000807CE3A0100AMOV r1,#0xa>>>REDUNDANT\#3inta=10,b=20;00008080E3A02014MOV... 2023-06-13 C编程C编译器ARM文章软件开发程序设计
高效的C编程之:C编译器及其优化(下) 下面的例子显示了同一段程序,使用内嵌功能和不使用内嵌功能编译出的不同结果。要编译的源文件如下。intbar(inta){a=a+5;returna;}intfoo(inti){i=bar(i);i=i-2;i=bar(i);i++;returni;}下面的汇编程序为不使用内嵌功能时编译出的结果。barADDr0,r0,#5MOVpc,lrfooSTRlr,[sp... 2023-06-13 C编程C编译器ARM文章软件开发程序设计
高效的C编程之:C编译器及其优化(上) 本章将帮助读者在ARM处理器上编写高效的C代码。本章涉及的一些技术不仅适用于ARM处理器,也适用于其他RISC处理器。本章首先从ARM编译器及其优化入手,讲解C编译器在优化代码时所碰到的一些问题。理解这些问题,将有助于编写出在提高执行速度和减少代码尺寸方面更高效的C源代码... 2023-06-13 C编程C编译器ARM文章软件开发程序设计
BREW应用的c++实现注意点 做过BREW开发的都知道,不论是用IWINDOW还是StateMachine,都是应用的C语言,而且编译器也是采用的C编译器,而对于具有优良思想的面向对象的C++语言却应用的不多。其实BREW开发是完全支持C++语言的。从VC6.0的调试器来说吧,肯定支持C++语言了,对于ARM或者GCC来说,也是有可用的C++编... 2023-06-13 C语言C编译器C++语言文章软件开发编程规范
KeilC编译器常见警告与错误信息的解决方法 1. Warning 280:’i’:unreferenced local variable说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i 变量的宣告2 Warning 206:’Music3’:missing function-prototype说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用... 2023-06-13 keilC编译器常见警告错误信息文章软件开发仿真
C编译器错误信息中文翻译 Ambiguous operators need parentheses不明确的运算需要用括号括起Ambiguous symbol ``xxx``不明确的符号Argument list syntax error参数表语法错误Array bounds missing丢失数组界限符Array size toolarge数组尺寸太大Bad character in paramenters参数中... 2023-06-13 C编译器错误信息中文翻译文章基础课C语言基础
MPLAB-C18 C编译器的优化技巧 虽然MPLAB-C18 C语言编译器的编译效率比较高, 但与汇编语言相比, C的效率终究差一些, 因此在某些应用场合, 如何优化C的效率, 减小代码, 提高执行速度, 是许多工程师们的追求目标。下面介绍MPLAB-C18 C编译器的一些优化技巧, 与大家共享。1 使用静态型局部变量局部变量的... 2023-06-13 MPLAB-C18C编译器优化技巧文章基础课C语言基础