zoukankan      html  css  js  c++  java
  • ARM编译器中预定义的宏

    arm系列目前支持三大主流的工具链,realview的armcc,iar ewarm的iccarm,gnu的gcc,编译器在编译的时候会预定义一些宏,这些宏在工程中起到不可或缺的作用。

    例如

    /* define compiler specific symbols */
      #if defined ( __CC_ARM )
         #define __ASM __asm /*!< asm keyword for armcc */
         #define __INLINE __inline /*!< inline keyword for armcc */
     #elif defined ( __ICCARM__ )
         #define __ASM __asm /*!< asm keyword for iarcc */
         #define __INLINE inline /*!< inline keyword for iarcc. Only
                                       avaiable in High optimization mode! */
         #define __nop __no_operation /*!< no operation intrinsic in iarcc */
     #elif defined ( __GNUC__ )
         #define __ASM asm /*!< asm keyword for gcc */
         #define __INLINE inline /*!< inline keyword for gcc
     #endif
    根据不同的工具链,在c文件和汇编文件中inline和asm关键字有不同的写法,使用宏定义替代,增强代码的可移植性,根据不同的编译器在预处理是产生适用于该工具链的代码。
  • 相关阅读:
    第二次站立会议
    小组第一次站立会议
    用户场景描述
    本周学习总结
    构建之法阅读笔记之三
    本周的学习收获
    java连接Oracle数据库
    scott用户不存在
    大二暑假第五周总结
    业务用例分析
  • 原文地址:https://www.cnblogs.com/ideawu1001/p/3465967.html
Copyright © 2011-2022 走看看