|
在KeilMDK5工程里使用优化级别定义#pragma O0 在IAR中要写成#pragma optimize=none 在KeilMDK5工程里定义全局变量按地址对齐关键字__align(4) 在IAR中要写成#pragma data_alignment=4 目前使用宏定义的方式 #if defined (__CC_ARM) /*!< ARM Compiler */ __align(4) uint8_t KEY_VALUE[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; #elif defined ( __ICCARM__ ) /*!< IAR Compiler */ #pragma data_alignment=4 uint8_t KEY_VALUE[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; #endif 还有什么快捷的办法可以让代码兼容这两种编译环境?不要手动在每个地方这样写 |
[ZEPHYR]SDMMC2 Clock Initialization Failure on M4 Core (PLL2R Frequency Mismatch) 問題詢問
myst账号重置密码,收到邮件后,点击邮件中立即重置密码按钮,打不开网页,提示“此网站似乎存在问题”
ST的MCP1819是什么芯片,有资料吗或者能替换不?
收到年中活动奖品——绿联智充魔盒
碎掉的水杯又回来了
技术方案调不出来备受打击
年中获奖名单公布了,快去看看有没有你
明天又要上班了
商城积分
商城补货了,错过了
微信公众号
手机版
可以用宏将不同定义统一起来。
> > #if defined (CC_ARM) > #define _ALIGN(n) align(n) > #elif defined ( ICCARM ) > #define _ALIGN(n) data_alignment=n > #endif > > _ALIGN(4) > > uint8_t KEY_VALUE[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
[md]IAR Compiler额外加一个#pragma,所以不能用这种宏定义方式