C++ 在Arduino环境中启用异常

C++ 在Arduino环境中启用异常,c++,exception,ide,arduino,C++,Exception,Ide,Arduino,根据一份关于arduino环境是否支持异常的报告,理论上可以在arduino板上运行“异常”二进制文件 我将如何修改我的Arduino IDE以允许这样做?具体来说,如何防止IDE在调用编译器时包含-fno异常标志?Arduino IDE将-fno异常传递给它使用的编译器(avr gcc)。之所以这样做,是因为编译器的文档指定它是必需的(请参阅) 由于此参数是编译器正常运行所必需的(正确或错误),Arduino IDE不提供更改此参数的方法 不过,如果您想尝试删除此参数以查看其效果,则需要编辑A

根据一份关于arduino环境是否支持异常的报告,理论上可以在arduino板上运行“异常”二进制文件


我将如何修改我的Arduino IDE以允许这样做?具体来说,如何防止IDE在调用编译器时包含
-fno异常
标志?

Arduino IDE将
-fno异常
传递给它使用的编译器(
avr gcc
)。之所以这样做,是因为编译器的文档指定它是必需的(请参阅)

由于此参数是编译器正常运行所必需的(正确或错误),Arduino IDE不提供更改此参数的方法


不过,如果您想尝试删除此参数以查看其效果,则需要编辑Arduino源代码(当前为第589行)并自己重新构建IDE。

或更简单的方法移动编译器avr gcc,并用一个脚本替换它,该脚本在间接调用编译器之前过滤标志。实用书架[Advanced Arduino Hacking][1]文章指出“……它不支持异常,因为它们的运行时开销太大。”所以启用它们可能不是一个好主意。[1]: