在C中,"公共"在放在全局变量之前意味着什么?

Tza*_*rir 4 c

我正在浏览Mark Nudelman的"less"unix工具的源代码,main.c的开头有以下几点:

public int  logfile = -1;
public int  force_logfile = FALSE;
public char *   namelogfile = NULL;
Run Code Online (Sandbox Code Playgroud)

在全局范围内,在main()的定义之前,

在这种情况下公众意味着什么?更重要的是,我在哪里可以自己找到这些信息?我使用无数的查询组合进行搜索,无法找到此信息或任何彻底的C引用.

Tim*_*mbo 21

在文件中less.h是你的答案:

#define public      /* PUBLIC FUNCTION */
Run Code Online (Sandbox Code Playgroud)

公共似乎只用作公共/全局函数和变量的标记.编译时,它会扩展为空.

如何找到这些信息?

  1. 从顶部搜索.c文件到您想要了解更多信息的标识符的位置
  2. 如果您没有找到任何声明,请查找#include指令
  3. 打开任何包含的文件,查找您要查找的内容的声明
  4. 对每个包含的文件重复步骤2

在这种情况下,这很简单.