#ifdef _CH_预处理程序指令在C中做了什么?

时间:2014-10-29 23:50:56

标签: c c-preprocessor ch

具体来说,_CH_是什么?我非常确定它与某种#include安全性有关。

这是我在头文件中找到的代码形式:

#ifndef FOOBAR_H
#define FOOBAR_H

// Function prototypes

#ifdef _CH_
#pragma importf "foobar.c"
#endif
#endif

1 个答案:

答案 0 :(得分:2)

CH是一个C / C ++解释器。有关它的信息可以找到here,并描述为:

  

“Ch是现有的最完整,跨平台的C解释器和脚本引擎。”

_CH_的检查似乎是确定C下是否正在处理CH文件。在这种情况下,如果它由CH处理,那么它将处理行#pragma importf "foobar.c"

CH documentation我可以告诉我#pragma importf导入另一个文件:

  

首先在当前目录中搜索module1.c,然后在_fpath

中指定目录

在我们的例子中,它会搜索“foobar.c”并导入它。

CH以外的环境中,_CH_将不会被定义,#ifdef _CH_块中的语句将被忽略。