电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
KEIL 里面变量为啥能跳转但是编译说没有定义该变量
已解决
73482
个问题
已帮助
5993
位优秀工程师
KEIL 里面变量为啥能跳转但是编译说没有定义该变量
瞩目人kri
2018-08-09
浏览量:1133
KEIL 里面变量为啥能跳转但是编译说没有定义该变量
显示全部
嵌入式
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
PG_CPZ
这种现象是由于C语言中变量的作用域导致的。虽然你声明的是一个全局变量,但是如果不在另外引用它的文件中加外部变量声明的话,这个变量就只能在定义它的文件中使用,楼主可以了解一下变量的作用域,就会明白了。 解决办法,5楼说得差不多了,我再补充一下,如果A.c文件中定义了变量tmp: 而在B.c文件中想引用这个变量的话 ...
发布于
2018-08-09
举报
评论 0
0
0
其他答案
数量:
17
dreamadmirer
在你定义的变量前加修饰词volatile就可以了。
发布于
2018-08-09
举报
评论 0
0
0
Andrewz
因为你只引用了.但是没有定义它.是不是两个C文件都是直接复制的?
发布于
2018-08-09
举报
评论 0
0
0
涛涛涛涛涛
还是你的语法错误
发布于
2018-08-09
举报
评论 0
0
0
lichangle
全局变量 没有引用 加volatile
发布于
2018-08-09
举报
评论 0
0
0
请输入用户名
定义一个变量,在其他文件里用要extern一下。或者在变量前加volatile
发布于
2018-08-09
举报
评论 0
0
0
hardess
作用域的问题
发布于
2018-08-09
举报
评论 0
0
0
yhj416606438
需要加extern才能访问到
发布于
2018-08-09
举报
评论 0
0
0
@曲终人散@
头文件是不是没有包含进来
发布于
2018-08-09
举报
评论 0
0
0
一笔之名也
你要把工程都编译一下才可以的。
或是开了优化选项了
发布于
2018-08-09
举报
评论 0
0
0
chen0000009
是否没有用extern或者没有包含那个头文件
发布于
2018-08-10
举报
评论 0
0
0
great_CC
定义变量在其他文件应用需要extern声明一下,或者在一个头文件里声明,然后其他要用的文件包含这个头文件。
发布于
2018-08-10
举报
评论 0
0
0
最帅的廖先生
加上extern或者在变量前加个volatile
发布于
2018-08-11
举报
评论 0
0
0
勇哥来巡山
这个是你的变量的作用域导致的,全局变量要进行声明才能在其他文件中使用
发布于
2018-08-11
举报
评论 0
0
0
喵不是好兔纸
要你的变量在头文件里面声明,即加上一个extern
发布于
2018-08-17
举报
评论 0
0
0
菜鸟冷虎
是你的变量作用域存在问题,要重新对你的变量进行声明
发布于
2018-08-27
举报
评论 0
0
0
drepa
这个情况应该是你变量没有在头文件声明,在源文件声明了,但是源文件又没有添加到你工程里面去。
发布于
2018-08-31
举报
评论 0
0
0
米饭米饭吖
只能说你的变量是存在的 但是你有的文件使用了但是没有定义
发布于
2018-09-09
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
KEIL 里面变量为啥能跳转但是编译说没有定义该变量
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: