c# 使用预处理器检查目录是否存在于C中

ddrv8njm  于 2023-02-17  发布在  C#
关注(0)|答案(1)|浏览(185)

我想根据Linux中是否存在特定目录来#定义一些宏,我不能在这里使用任何fopen/directory/stat API,因为它们在编译阶段会暴露出来
例如,
需要设置----〉使用C宏检查目录是否存在,即在编译阶段#define RANDOM 100 #else #define RANDOM 200之前
这里需要帮助。

t9aqgxwy

t9aqgxwy1#

你不能这样做,因为预处理器会用文本替换一个值(更准确地说,它替换了token),这是在实际的C代码编译之前完成的。
您需要有变量RANDOM(不是宏定义),并将其赋值为runtime。

int RANDOM = 0;
if(directory_exists(directory))
{ 
     RANDOM = 200
}
else
{ 
     RANDOM = 500
}

并在以后的代码中使用它。

相关问题