[问题] 用#if判断variable的值

楼主: Hyozero (1)   2022-11-10 00:23:24
开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
请问下面网址内的程式码
第26行~48行, 执行结果会认为variable a1的值是0
原因是preprocessor展开的时候还没compile, 所以将不认得的variable当成0来看待吗?
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://ideone.com/LmmXtE
补充说明(Supplement):
作者: shibin (喜饼)   2022-11-10 00:50:00
我只知道#if通常用在判断是否已定义,不知能否判断数值我说的定义是#define al,不是int a1;
作者: Dracarys (MayShowGunMore)   2022-11-10 00:53:00
作者: Richun (解放左手的OO之力)   2022-11-10 01:00:00
判断定义与否应该是#ifdef跟#ifndef
作者: gusion   2022-11-10 08:54:00
#if可以判断define的数值,像是linux kernel就有version的define值,写module时可以用来判断用不同版本的kernel要compile哪段code
作者: shibin (喜饼)   2022-11-10 11:25:00
长知识了
作者: wulouise (在线上!=在电脑前)   2022-11-10 23:21:00
#define不能跟变量混在一起.. #if只看#define
作者: CoNsTaR ((const *))   2022-11-11 03:38:00
为什么会有这种需求?meta-programming?
作者: s9041200 (小明阿)   2022-11-12 22:51:00
4

Links booklink

Contact Us: admin [ a t ] ucptt.com