一个工程下有很多文件,都是用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种选一种即可。

两个不同的文件相互引用全局变量相关推荐

  1. go语言中同一个package下的文件相互引用怎么做?

    go语言中同一个package下的文件相互引用怎么做? go 里面一个目录为一个package, 一个package级别的func, type, 变量, 常量, 这个package下的所有文件里的代码 ...

  2. C 语言 具有从属关系的结构体分别在不同头文件相互引用的问题

    目录 一.说明 二.例子 一.说明 给定头文件 father.h, son.h, daughter.h, son.h 和 daughter.h 里有各自的结构体,而 father.h 里有结构体囊括了 ...

  3. 移动项目开发笔记(管理不同解决方案下的DLL文件相互引用之心得体会)

    当项目比较庞大时候Dll文件的管理显得就尤其重要了,比如多个解决方案有不同项目之间的引用,如果引用的路径都指向某项目bin下的dll文件的话,dll维护起来很不方面,因此遇到这种情况的话该怎么更好的管 ...

  4. 毕业设计出现的一个严重错误----文件不能相互引用

    昨晚大概1点,突然点某几个链接,出现了"你指定的网站不能访问,链接错误"这样的情况,然点击其它的网页却没有错误,一段时间极度郁闷,知道1点半没弄出来 今天下午经过一番删除测试,终于 ...

  5. 【C++】错误C2027:使用了未定义类型错误原因 两个类之间怎么相互使用成员 向前声明概念

    错误C2027:使用了未定义类型.两个类之间相互引用成员.向前声明 错误C2027:使用了未定义类型 向前声明 单独编译 两个类之间相互引用成员 通过单独编译和向前声明方法实现两个类之间相互引用成员 ...

  6. php 不同页面全局变量,php中全局变量在多个文件中引用问题

    问大家个问题: 能不能在A php文件中定义全局变量 ,B php文件引用并赋值,C php文件引用并访问,我测试了好像不行.B中赋值,C中只能看到A中的内容,看不到B改变后的值. 谢谢大家 回复讨论 ...

  7. 【C++】两个类的相互引用

    有时候在设计数据结构的时候,可能会遇到两个类需要相互引用的情形.比如类A有类型为B的成员,而类B又有类型为A的成员. 那么这种情形下,两个类的设计上需要注意什么呢? 同一文件 尝试方案 将A和B的定义 ...

  8. Cocos Creator两个类相互引用(调用)

    如果两个类相互引用,脚本加载阶段就会出现循环引用,循环引用将导致脚本加载出错: ///Game.js var Item = require("Item"); var Game = ...

  9. cocos 时间函数需要什么引用_Cocos Creator两个类相互引用(调用)

    如果两个类相互引用,脚本加载阶段就会出现循环引用,循环引用将导致脚本加载出错: ///Game.js var Item = require("Item"); var Game = ...

最新文章

  1. linux ssh连接 出现 Host key verification failed 错误 解决方法
  2. Select 标签可输入
  3. AspxCallBack控件的CallBack事件
  4. Web前端基础——HTML
  5. finecms控制器与html,使用@ HTML.Action与参数,以C#控制器
  6. visual tree view在工具箱力没有_Visual-Inertial Odometry
  7. JavaScript事件冒泡
  8. 电机与拖动,直流发电机实验,江南大学物联网自动化
  9. ASP.NET MVC中的模型装配 封装方法 非常好用
  10. [dts]DTS实例分析
  11. VMAXe资源配置只用4分钟
  12. 2699元!魅族16s Pro现货售罄:将加紧备货
  13. php7版本搭建sqli labs,CentOS 7 LAMP搭建并且部署sqli-labs
  14. 吴恩达深度学习——序列模型与注意力机制
  15. numpy教程:随机数模块numpy.random
  16. Atitit nlp用到的技术与常见类库 目录 1. 常用的技术 1 1.1. 语言处理基础技术 分词 相似度等 1 1.2. 新闻摘要 2 1.3. 情感倾向分析 2 1.4. 文章标签 2 1.
  17. AD2016 交互式网表 InteractiveHtmlBomForAD插件安装教程
  18. ARM 是什么,ARM的意思,ARM介绍
  19. (转载)NPOI使用手册,实践发现使用2.2版本的库需要稍作调整
  20. Eel——js 如何调用python的函数

热门文章

  1. [Spring cloud 一步步实现广告系统] 9. 主类和配置文件
  2. 小程序加载本地图片路径问题
  3. 反射(操作MetaData)
  4. C 标准库 - ctype.h之isalnum使用
  5. ROS 总结(一):ROS系统框架
  6. 汇编语言随笔(13)- 外中断(可屏蔽中断)、实验15
  7. Qt 常量中有换行符 中文
  8. python中文字符编码问题
  9. 重启asp.net 命令
  10. 1、Expect 远程登录linux系统