代码之家  ›  专栏  ›  技术社区  ›  coolaj86

为什么要使用“extern void my_func();”而不是包含“my_utils.h”?

  •  8
  • coolaj86  · 技术社区  · 15 年前

    extern void my_func(); .

    我的理解是 extern 对于全局变量,而不是函数。

    外部 而不是把它放在一个头文件中并包含它?或者这只是一种文体选择?

    3 回复  |  直到 15 年前
        1
  •  10
  •   Oliver Charlesworth    15 年前

    只有在由于某种原因,头文件没有声明函数时,才需要这个函数。以及 extern 外部 默认情况下。

        2
  •  -3
  •   Donotalo    15 年前

    一次使用 extern 函数是假设您有两个模块:module_a(在 module_a.h module_a.c 文件),模块(在 module_b.h module_b.c #include "module_b.h" 你可以 外部

        3
  •  -3
  •   mustafakyr    13 年前

    在使用函数之前,在*.c文件中声明prototype,而不是包括整个头文件,这还不够吗?函数在任何情况下都不需要使用extern。我还没有试过,但应该是那样的。