如何在2 .c文件之间共享一个变量?

时间:2014-10-14 20:18:33

标签: c extern os161

考虑变量abulo。我试图在2 .c文件之间分享abulo。这是我做的 -

  1. 创建了a.h。该文件包含该行, extern int abulo;
  2. a.c包含这样的声明, int abulo = 0;
  3. 在b.c中,a.h已被包括在内。然后只有一个kprintf函数打印你的值。
  4. 但是当我尝试运行代码时,它会向我显示这样的输出 -

    undefined reference to `abulo'
    

    试图使用这里给出的答案的想法 - How do I share variables between different .c files?

    我在这里做错了什么?如何摆脱这个错误?

1 个答案:

答案 0 :(得分:2)

在构建可执行文件时,您应该链接a.o。 例如:

cc -c a.c
cc -c b.c
cc a.o b.o -o executable
#  ^^^ this is important