定义pin的时候常量和静态变量哪个更有优势?
比如定义nano的LED脚,是用#define LED 13;
还是用
static int LED=13;
或者干脆直接
int LED=13;
这3种写法哪个性能更好、更节省空间?
或者还有什么更好的写法? 我对arduino还是一窍不通,春节买的板子都还在路上。 对于以前程序的经验来说,这些定义并没有太大区别。虽然arduino的小内存又让我们回到多年前需要考虑程序如何节省资源的时代,但是这些文件真的不大。 如果我没理解错,应该是 #define LED 13; 最好
这种方式在编译时直接做了替换,所以性质上它并不是变量,应该是不会再占用内存空间了吧。
后两种都是变量,所以都要在运行时中为其分配内存空间的。 const int LED = 13 感谢楼上3位,又查了些资料,const 应该是比较省,#define 容易出问题 对于常量,一定是const定义最好,从占用最终代码存储空间的角度define和const都要在data段保存这个数值,是一样的。const定义是强类型定义,很多错误和潜在的问题,都可以通过编译时的错误或者警告暴露出来,把常量定义为const是良好的编程习惯。static是作用域的定义,看你的具体程序,是无所谓的。所以你这种情况,作为一个常量,最好定义为 const int LED=13;如果需要限定它的作用域,可以static const int LED=13;
页:
[1]