2012-04-10 3 views
3

arduino 환경이 예외를 지원하는지 여부는 answer to a question에 따르면 Arduino 보드에서 "예외적 인"이진 파일을 실행할 수 있습니다.Arduino 환경에서 예외 사용 가능

허용하려면 어떻게 내 Arduino IDE를 변경하겠습니까? 특히 컴파일러를 호출 할 때 IDE가 -fno-exceptions 플래그를 포함하지 못하도록하려면 어떻게합니까?

+0

Pragmatic Bookshelf [Advanced Arduino Hacking] [1] 기사에 따르면 "... 런타임 오버 헤드가 너무 크기 때문에 예외를 지원하지 않습니다." 아마도 사용하도록 설정하지 않는 것이 좋습니다. [1] : https://pragprog.com/magazines/2011-04/advanced-arduino-hacking –

답변

3

Arduino IDE는 -fno-exceptions을 사용하는 컴파일러에 전달합니다 (avr-gcc). 이것은 컴파일러의 문서에서 필요하다고 지정했기 때문에 수행됩니다 (http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_cplusplus 참조).

컴파일러의 올바른 작동을 위해이 매개 변수가 (올바르게 또는 잘못) 필요하기 때문에 Arduino IDE는이를 변경하는 방법을 제공하지 않습니다.

그러나이 매개 변수를 제거하여이 효과를 확인하려면 Arduino 소스 코드 (현재 589 in https://github.com/arduino/Arduino/blob/master/app/src/processing/app/debug/Compiler.java)를 편집하고 직접 IDE를 다시 작성해야합니다.

+7

간단히 컴파일러 avr-gcc를 이동하고 간접적으로 컴파일러를 호출하기 전에 플래그를 필터링하는 스크립트로 바꿉니다. –