我注意到Arduino IDE和Stino之间存在一些令人讨厌的差异(主要是围绕某些头文件)。这些可能是需要与一个或两个参与方跟进的错误,但是与此同时,我希望我的代码无需编辑即可与它们两个一起编译。这是因为我不想让任何用户都无法使用我的代码。
是否有任何可用的宏或类似内容(例如,无需修改工具链或IDE),可以使我检测出正在使用的宏或类似内容?
例如,在许多库中,都有以下代码段:
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
但是,Stino和Arduino都对此进行了定义。
谢谢,假名-是的,我认为这听起来不错。我认为我真的只需要对Stino的支持。我还没有看到Eclipse经常使用得足够关心。
—
Cybergibbons 2014年
这不是真正的解决方案,但是您也可以添加两个版本的代码,或者以某种方式添加注释:取消注释以下行,并删除Stino的其他行。| @Fake在Arduino IDE中使用该代码时会出现问题吗?
—
匿名企鹅2014年
为了进一步说明Anonymous Penguin的评论,您可以为每个编译器定义一个磅。然后,该代码的默认版本会出现错误,除非用户注释一行以指定他们使用的编译器,否则该代码将无法运行。像这样的东西
—
portforwardpodcast
#if !defined(STINO_COMPILER) #error please uncomment one of the compiler lines #endif
#define STINO_COMPILER
添加到编译时定义中应该很容易。管理该回购协议的人非常愿意接受这样的明智的拉取请求,并且一旦它在主线回购协议中正确存在,就不需要任何最终用户进行更改。