开发平台(Platform): (Ex: Win10, Linux, ...)
Embedded System
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
由于Code size,无法额外使用函式库
问题(Question):
我的程式有个用#define定义的数值,譬如
#define FOO_VALUE 5
我已经知道,这个值一定会是5,11,18,21,29之一(没什么规律的串行)
希望如果使用这段Code的人填了错误的值的时候
可以在Compile的时候就抓到错误,不要到runtime的时候才检查
#define FOO_VALUE 10
可以编译的时候跑出错误
目前试过以下这样的写法可以达到我的目标
#if FOO_VALUE == 5
#elif FOO_VALUE == 11
#elif FOO_VALUE == 18
#elif FOO_VALUE == 21
#elif FOO_VALUE == 29
#else
#error "INVALID FOO_VALUE"
#endif
但写起来很丑又累赘…
会需要用同样的方式再去检查BAR_VALUE, ABC_VALUE...等等
这样一堆写起来还挺可怕的orz
想请问要达成一样的事,还有没有其他的写法呢?