硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1340|回复: 8
收起左侧

[ThreadX全家桶] threadx 动态应用中无法使用static定义静态变量

[复制链接]

7

主题

74

回帖

100

积分

初级会员

积分
100
发表于 2022-6-21 16:49:07 | 显示全部楼层 |阅读模式
例如:
static int test_value;
void hello_world(void)
{
  test_value++;
}
void thread_0_entry(ULONG thread_input)
{
  hello_world();
}
编译完成后无法在.map文件中找到test_value变量,没被加入到.bss段中。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-6-22 01:07:42 | 显示全部楼层
今天晚些时候我就测试下看看。
回复

使用道具 举报

4

主题

1447

回帖

1459

积分

至尊会员

积分
1459
发表于 2022-6-22 09:51:29 | 显示全部楼层
是不是被优化掉了?
回复

使用道具 举报

7

主题

74

回帖

100

积分

初级会员

积分
100
 楼主| 发表于 2022-6-22 14:51:23 | 显示全部楼层
morning_enr6U 发表于 2022-6-22 09:51
是不是被优化掉了?

变量有被程序调用,生成的.map文件没找到有生成。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-6-23 00:41:12 | 显示全部楼层
帮你测试了,没问题
image.png

image.png
回复

使用道具 举报

7

主题

74

回帖

100

积分

初级会员

积分
100
 楼主| 发表于 2022-6-23 08:56:55 | 显示全部楼层
eric2013 发表于 2022-6-23 00:41
帮你测试了,没问题

好的,使用STM32cubeide编译应用,带static的变量是没有在.map文件中,可能是IDE编译选项导致,我换回MDK编译试试。
回复

使用道具 举报

4

主题

1447

回帖

1459

积分

至尊会员

积分
1459
发表于 2022-6-23 09:33:42 | 显示全部楼层
硬汉大哥,他说的是那个static的test_value变量不见了,  不是那个hello_world()函数不见了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-6-23 09:41:30 | 显示全部楼层
morning_enr6U 发表于 2022-6-23 09:33
硬汉大哥,他说的是那个static的test_value变量不见了,  不是那个hello_world()函数不见了。

我这个是帮他把群里面的问题也一起测试了,楼主之前的是调用操作全局静态变量就死机。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-6-23 09:41:42 | 显示全部楼层
feelingcode 发表于 2022-6-23 08:56
好的,使用STM32cubeide编译应用,带static的变量是没有在.map文件中,可能是IDE编译选项导致,我换回MDK ...

好的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-24 03:10 , Processed in 0.268707 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表