请教 ICCAVR与WinAVR(GCC) 的主要区别? 【恢复】
一直在用 ICCAVR编写 AVR程序, 但看到网站统一使用GCC(WinAVR)这种工具与语言,而且下载的一些usbasp 等等的例程、也是使用GCC偏多数, 所以也有了 转向GCC的 想法!
在此先问一下: GCC 和 ICC 的主要区别
请精通过这2种软件或者 也是从ICC转到GCC 的朋友 给点意见
简单描述一下2者的优缺点 谢谢!
本贴被 xinchangkk 编辑过,最后修改时间:2008-12-05,20:52:56. 关注中,正想了解GCC. “有一次声明变量并赋初值的时候 GCC就好像不会赋值 仿真的时候根本就没有值”
表面现象确实如此,
但是,为什么会这样呢?
本贴被 ATmega32 编辑过,最后修改时间:2008-12-08,12:10:24. 赞成楼上的说法
在win里面开发AVR 一般是AVR STUDIO + GCC的
但是感觉没有ICC好
有一次声明变量并赋初值的时候 GCC就好像不会赋值 仿真的时候根本就没有值 虽然大家都说的对,但我发现GCC未必那么好用 最大的区别:一个是开源一个不是 用GCC是取其優化強,不優化何必用GCC
但是GCC要優化會頭很大,這是我用AVR GCC一個星期來的結論
當然長久使用GCC的人或許不會 GCC和ICC的外在区别:
1.头文件不同;
2.中断写法不同;
3.FLASH,EEPROM操作写法不同;
4.一些专用库函数不同。
GCC和ICC的内在区别:
1.GCC更加符合标准C,语法也更严格。
2.GCC优化能力更强,程序要处处考虑优化问题。
以上两大内在区别导致ICC移植到GCC:
1.通常警告会一大堆;
2.有时逻辑也会出错;
3.某些语句完全不起作用;
4.某些变量读写,并没有按预期想象的那样。
外在区别好移植,内在区别不是那么好移植的。
本贴被 ATmega32 编辑过,最后修改时间:2008-12-07,01:18:57. 传了几个文件 也请大家看一下:
点击此处下载 ourdev_531676.rar(文件大小:23.61M) (原文件名:ICC+GCC.rar)
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_531677.JPG
(原文件名:1111.JPG)
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_531678.JPG
(原文件名:2222.JPG)
---------------------------------------------------------------------
另外论坛里还有这么一个帖子 也是谈论此事
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=1664289&bbs_page_no=1&bbs_id=9999
----------------------------------------------------
最后 本人,决定转到 GCC 一个叫ICC,一个叫GCC 我也想了解下,高手支招呀 没用过ICC,但是跟据使用习惯一般来说GCC与其它C主要在定义FLASH数据、中断表达方式有点区别。 我也一直在用ICC,关注中。。。。 老帖子了 现在路过 AVR的编译器很多,对此一直感到疑惑。干嘛搞那么多呢 感谢分享
页:
[1]