就爱学习

就爱学习

0个粉丝

17

问答

0

专栏

2

资料

就爱学习  发布于  2020-10-29 11:11:49
采纳率 0%
17个问答
1740

arm-linux c 关于全局变量的BUG

 

今天碰到了一个非常奇怪的现象,求高人指点。
用的海思的linux内核,版本3.10
情况分为以下三个时间段:

  1. 定义了一个全局结构体变量 A ,开机读配置文件,把文件里的参数读到 A 里,然后把该参数全部打印出来。
  2. 然后开启了一个线程,根据 A 里存的服务器地址,连接服务器,并打印该地址,结果发现服务器地址不对,跟开机时读的参数不一致。
  3. 发现不一致之后,我在主线程里调用打印参数的函数查看服务器地址,看是否有改动,结果发现此时打印的服务器地址与开机显示的一致

也就是在不同线程里,读出来的值不一样,为什么会出现这样的情况呢?
如果说是变量被修改了,那么我在2里发现变量变化了,在3里打印的时候,应该也是被修改的,但是在3里打印的时候却是和1里的值是一样的

我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区