OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4335|回复: 5

C 编译器依籁关键字说明指点

[复制链接]

17

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2296
金钱
2296
注册时间
2017-5-22
在线时间
214 小时
发表于 2020-12-7 10:27:20 | 显示全部楼层 |阅读模式
8金钱
#ifdef USB_OTG_HS_INTERNAL_DMA_ENABLED
  #if defined   (__GNUC__)        /* GNU Compiler */
    #define __ALIGN_END    __attribute__ ((aligned (4)))
    #define __ALIGN_BEGIN         
  #else                           
    #define __ALIGN_END
    #if defined   (__CC_ARM)      /* ARM Compiler */
      #define __ALIGN_BEGIN    __align(4)  
    #elif defined (__ICCARM__)    /* IAR Compiler */
      #define __ALIGN_BEGIN
    #elif defined  (__TASKING__)  /* TASKING Compiler */
      #define __ALIGN_BEGIN    __align(4)
    #endif /* __CC_ARM */  
  #endif /* __GNUC__ */
#else
  #define __ALIGN_BEGIN
  #define __ALIGN_END   
#endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */

/* __packed keyword used to decrease the data type alignment to 1-byte */
#if defined (__CC_ARM)         /* ARM Compiler */
  #define __packed    __packed
#elif defined (__ICCARM__)     /* IAR Compiler */
  #define __packed    __packed
#elif defined   ( __GNUC__ )   /* GNU Compiler */                        
  #define __packed    __attribute__ ((__packed__))
#elif defined   (__TASKING__)  /* TASKING Compiler */
  #define __packed    __unaligned
#endif /* __CC_ARM */
请高手指点说明关键字。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-12-8 02:11:27 | 显示全部楼层
这。。。不是一堆宏定义嘛。。。
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2107
金钱
2107
注册时间
2017-2-11
在线时间
307 小时
发表于 2020-12-9 13:52:05 | 显示全部楼层
根据不同的编译器而宏定义
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2020-12-9 15:27:08 | 显示全部楼层
依籁关键字, 这是啥意思?
有一个关键字, 其中文是依籁?
回复

使用道具 举报

17

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2296
金钱
2296
注册时间
2017-5-22
在线时间
214 小时
 楼主| 发表于 2020-12-9 23:26:46 | 显示全部楼层
正点原子 发表于 2020-12-8 02:11
这。。。不是一堆宏定义嘛。。。

是的,在USB实验usb_conf.h里 c编译器依赖关键字
回复

使用道具 举报

17

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2296
金钱
2296
注册时间
2017-5-22
在线时间
214 小时
 楼主| 发表于 2020-12-9 23:31:12 | 显示全部楼层
jiangyy 发表于 2020-12-9 13:52
根据不同的编译器而宏定义

usb实验在usb_conf.h里C编译器依赖关键字,程序里这么说的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 17:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表