嵌入式环境中的#define vs enum(它们如何编译?)

这个问题已经完成了死亡,我同意enums是可行的方法.但是,我很好奇enums如何在最终代码中编译 – #define只是字符串替换,但枚举是否为编译后的二进制文件添加了什么?或者它们在那个阶段都是等价的.当编写固件和内存非常有限时,使用#defines是否有任何优势,无论多小?

谢谢!

编辑:根据以下评论的要求,嵌入式,我的意思是数码相机.

谢谢你的回答!我全都是枚举!

解决方法

两者都是标准术语中的常量表达式,因此它们“应该”在编译时由任何理智的编译器完全评估.恶意病态编译器需要生成不同的代码.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...