一个工程下有很多文件,都是用makefile进行管理的,但是一个文件怎么去调用另外一个文件中的全局变量呢?这个工作也涉及了很多,简单实用。
[mapan@localhost CSDN]$ ls
a.c b.c b.h
[mapan@localhost CSDN]$ cat a.c
#include<stdio.h>
#include "b.h"
int main()
{
int num=getTest();
printf("num=%d\n",num);
return 0;
}
[mapan@localhost CSDN]$ cat b.c
#include<stdio.h>
int test = 1;
int getTest(void)
{
return test;
}
[mapan@localhost CSDN]$ cat b.h
#ifndef __B_H__
#define __B_H__
int getTest(void);
#endif
[mapan@localhost CSDN]$ gcc a.c b.c b.h
[mapan@localhost CSDN]$ ./a.out
num=1
[mapan@localhost CSDN]$
一目了然,感觉有点意思。当然用extern也行。
[mapan@localhost CSDN]$ ls
a.c b.c b.h
[mapan@localhost CSDN]$ cat a.c
#include<stdio.h>
//#include "b.h"
int main()
{
extern int getTest();
int num=getTest();
printf("num=%d\n",num);
return 0;
}
[mapan@localhost CSDN]$ gcc a.c b.c b.h
[mapan@localhost CSDN]$ ./a.out
num=1
[mapan@localhost CSDN]$
2种选一种即可。