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关键字有不同的写法,使用宏定义替代,增强代码的可移植性,根据不同的编译器在预处理是产生适用于该工具链的代码。
  • 相关阅读:
    AndroidStudio小技巧--依赖库
    仿iOS Segmented Control样式"
    Metaweblog在Android上使用
    正则表达式使用技巧
    flask中gunicorn的使用
    Git用法小记
    指定GPU训练模型
    python中grpc的使用示例
    如何用LaTex编辑数学公式
    keras使用多进程
  • 原文地址:https://www.cnblogs.com/ideawu1001/p/3465967.html
Copyright © 2011-2022 走看看