小编fre*_*haf的帖子

链接期间对全局变量的未定义引用

我试图编译被划分成3个模块,对应于3个源文件的程序:a.c,b.c,和z.c.z.c包含main()函数,它调用函数a.cb.c.此外,函数a.c调用函数b.c,反之亦然.最后,有一个全局变量count,由三个模块使用,并在一个单独的头文件中定义global.h.

源文件的代码如下:

a.c

#include "global.h"
#include "b.h"
#include "a.h"

int functAb() {
    functB();
    functA();
    return 0;
}

int functA() {
    count++;
    printf("A:%d\n", count);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

b.c

#include "global.h"
#include "a.h"
#include "b.h"

int functBa() {
    functA();
    functB();
    return 0;
}

int functB() {
    count++;
    printf("B:%d\n", count);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

z.c

#include "a.h"
#include "b.h"
#include "global.h"

int …
Run Code Online (Sandbox Code Playgroud)

c linker gcc compilation

16
推荐指数
3
解决办法
4万
查看次数

标签 统计

c ×1

compilation ×1

gcc ×1

linker ×1