我想根据Linux中是否存在特定目录来#定义一些宏,我不能在这里使用任何fopen/directory/stat API,因为它们在编译阶段会暴露出来例如,需要设置----〉使用C宏检查目录是否存在,即在编译阶段#define RANDOM 100 #else #define RANDOM 200之前这里需要帮助。
t9aqgxwy1#
你不能这样做,因为预处理器会用文本替换一个值(更准确地说,它替换了token),这是在实际的C代码编译之前完成的。您需要有变量RANDOM(不是宏定义),并将其赋值为runtime。
RANDOM
int RANDOM = 0; if(directory_exists(directory)) { RANDOM = 200 } else { RANDOM = 500 }
并在以后的代码中使用它。
1条答案
按热度按时间t9aqgxwy1#
你不能这样做,因为预处理器会用文本替换一个值(更准确地说,它替换了token),这是在实际的C代码编译之前完成的。
您需要有变量
RANDOM
(不是宏定义),并将其赋值为runtime。并在以后的代码中使用它。