加入收藏 设为首页 帮助中心
 
论坛首页
用户登录 | 用户注册 | 最新悬赏 | 最新贴子 | 会员中心 | 贴子搜索 | 网站地图 | 帮助中心 | 联系我们
站内搜索:
现在位置 > 维库电子开发网论坛 > 单片机 > AVR单片机 > 在 AVR Studio 4 里启用 g++ 编译器
帖子主题: 在 AVR Studio 4 里启用 g++ 编译器
你还没有登录,无法发表回复,请首先 登录.. [注 册]
积分:72 moocoavr
发表于:2008-8-28 14:05:00 楼主
级别:二星
积分:72分
注册:2008年07月03日
很简单,在 AVR Studio 安装目录的 ./Compilers 子目录里找到 AvrPluginavrgccplugin.dll,然后用随便哪种 hex 编辑器找到字符串 "CC ="(注意空格),把后面跟的 avr-gcc 改成 avr-g++ 即可。

此后所有程序均可使用完整的 C++ 语法(当然,new 和 delete 依然不能用的),例如 inline 函数(减小栈空间消耗)、缺省参数(在类似eeprom写入函数等地方可用来避免程序跑飞导致eeprom被篡改)、局部变量随用随分配(减小栈空间消耗)、类等。

注意:如果是 WinAVR 200601xx 版,转用 C++ 后,在中断服务程序声明那里会遇到警告,这是 avr/interrupt.h 头文件的一点错误,如下修改:

原内容:
#ifdef __cplusplus
#define ISR(vector)                                        \
extern "C" void vector(void);                                \
void vector (void) __attribute__ ((signal));                \
void vector (void)

修改内容:
#ifdef __cplusplus
/* Bug Fix 20060310
#define ISR(vector)                                        \
extern "C" void vector(void);                                \
void vector (void) __attribute__ ((signal));                \
void vector (void)
*/
/*Bug Fix 20060310*/
#define ISR(vector)                                        \
extern "C" void vector (void) __attribute__ ((signal));                \
void vector (void)
/*Bug Fix 20060310*/
 
积分:46 新蛸
发表于:2008-8-30 10:17:00 1 楼
级别:一星
积分:46分
注册:2008年08月19日
顶个!  
积分:386 無智
发表于:2008-9-3 10:09:00 2 楼
级别:四星
积分:386分
注册:2008年06月20日
高深的东东,顶起!  
积分:28 HJmyAVR
发表于:2008-9-4 14:17:00 3 楼
级别:一星
积分:28分
注册:2008年08月28日
好东西!  
积分:77 csbowei
发表于:2008-9-24 15:35:00 4 楼
级别:二星
积分:77分
注册:2008年09月24日

======================
该帖子内空被管理员屏蔽
======================


长沙博为自动化设备有限公司 三菱、欧姆龙、西门子、松下等品牌PLC编程电缆 联 系 人: 王经理 联系电话: 0731-2894960 业务QQ: 535710450 电子邮件: plcvip@163.com

 
快速回复:
用户名: 密码:  验证码,看不清楚?请点击刷新验证码 注册新帐号?
上传图片格式(jpg/gif/png)和文件格式(rar/pdf)
 
 
网站简介s广告服务网站地图帮助信息联系方式问题报告
Copyright 2007 - 2008 bbs.weeqoo.com
Powered By weeqoo Version 8.0.0XML