有两个C文件,一个叫main.c,一个叫xxs.c,main.c 包含了xxs.c.
我在两个文件里都声明了int num,编译的时候报错误,
错误信息是clang: error: linker command failed with exit code 1 (use -v to see invocation)
删除掉一个int num就好了。
问题是我看老师讲的视频里说,这种情况下两个文件里的全局变量会指向同一块内存空间,并且老师演示的时候也是可以正常编译的,为什么我的编译不过去,错在哪里了?
- // main.c
- #include <stdio.h>
- #include "xxs.h"
- int num;
- int main(int argc, const char * argv[]) {
- printf("num = %p\n",&num);
- return 0;
- }
复制代码
- // xxs.c
- #include "xxs.h"
- int num;
复制代码
|
|