完美体育·(中国)手机网页版科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

KEIL C251 v5.54 官方开发工具

软件大小:32.8 M 软件性质: 免费软件
更新时间:2013/3/29 15:11:37 应用平台:Win9X/Win2000/WinXP
下载次数:16327 下载来源:完美体育·(中国)手机网页版科技
软件语言:英文 软件类别:ARM软件工具 > keil C251
下载

》KEIL C251详细介绍》



  • [C251 Compiler]
    • Added: optimization for handling of 32 bit numbers.
    • Added: optimization for for functions that do never return. This functions need to use __attribute__ ((noreturn)).
    • Corrected: assembler instructions used as label name erroneously thrown an Syntax-Error in SRC mode.
    • Corrected: a potential inline-assembler macro problem with '#' when meant for the #imm operand. Example:
      #pragma SRC
      
      #define AOP         \ 
         __asm { NOP }    \ 
         __asm { MOV A,#1 }    // incorrect generated error C302: misused # operator
      
      void main (void) {
        AOP
      }
      
    • Corrected: incorrect error C143 "initializer is not a constant" generation at cast of a constant pointer which is part of a struct. Example:
      struct GlStruct {
        char a;
        char cArr[1];
      };
      
      long offset = (long) (*(struct GlStruct*)0x0D000000).cArr;   // incorrect generated error: C143 "initializer is not a constant"
      
    • Corrected: incorrect error C83 "incompatible types" generation when used floating point types togehter with & operator. Example:
       volatile unsigned long  ul2;
       volatile signed char    sc1;
       volatile signed char    sc2;
      
       void main(void) {
         ul2 = 2147483647L;
         sc1 = -1;
         sc2 = 1;
         (ul2 ^= (((( ! ( (double) (char)127))) > ((( -- sc2)))) & sc1));  // incorrect generated error C83: '&': incompatible types
       }
      
    • Corrected: huge at function definition is not allowed. Erroneously has been taken as near. Example:
      void huge hg_fnc() {  }   // The warning C65: 'hg_fnc': illegal use of near/far/huge will be generated.
      
  • [L251 Linker]
    • Corrected: a potential incorrect overlap of data segments when this features are used in combination:
      • Overlapping segments by command line directives.
      • Linker Code Packing optimization with ROM (HUGE) model.
      • Code segments placed in the same 64KB region as the DATA segments.
  • [A251 Assembler]
    • Added: support for forward slash (/) as path seperator.
  • [C Run-Time Library]
    • Corrected: the function free failed when the complete memory pool was allocated.
    • Corrected: the HPTR variant of the function float LOG does not work.
  • [μVision]
    • This C251 release is delivered with μVision V4.60.6.9 IDE.