硬汉嵌入式论坛

 找回密码
 立即注册
查看: 908|回复: 3
收起左侧

[IAR] IAR与MDK5两者之间的语法兼容

[复制链接]

56

主题

131

回帖

299

积分

高级会员

积分
299
发表于 2022-1-5 15:32:15 | 显示全部楼层 |阅读模式
在KeilMDK5工程里使用优化级别定义#pragma O0
在IAR中要写成#pragma optimize=none

在KeilMDK5工程里定义全局变量按地址对齐关键字__align(4)
在IAR中要写成#pragma data_alignment=4


有什么快捷的办法可以让代码兼容这两种编译环境?


另外在KeilMDK5里打开的代码都是整齐的,用IAR打开就非常乱,有什么解决方案吗?


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2022-1-6 08:52:26 | 显示全部楼层
一般都是条件编译。
#if defined ( __ICCARM__ )

#elif defined ( __CC_ARM )

#elif defined ( __GNUC__ )

#endif

不同编译器代码对齐问题,注意那个TAB缩进就行,我们一般是4,你统一下这个应该就没问题了。

回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2022-1-6 09:58:01 | 显示全部楼层
eric2013 发表于 2022-1-6 08:52
一般都是条件编译。
#if defined ( __ICCARM__ )

谢谢回复,目前是使用这个条件编译方法,挺麻烦的,TAB缩进改成4了,有些代码行还是不对齐,就这样吧
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2022-1-6 13:33:08 | 显示全部楼层
没什么办法,应该是行业难题,只能考虑提升代码质量。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 22:59 , Processed in 0.231998 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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