[STM32F1] 该如何正确声明全局变量?

[复制链接]
593|55
mikewalpole 发表于 2026-2-13 22:05 | 显示全部楼层
源文件未被正确编译              
bestwell 发表于 2026-2-14 10:18 | 显示全部楼层
头文件中只做extern声明              
sdCAD 发表于 2026-2-14 12:06 | 显示全部楼层
编译器/链接器配置检查              
jonas222 发表于 2026-2-14 12:50 | 显示全部楼层
头文件保护宏必须加              
timfordlare 发表于 2026-2-14 16:37 | 显示全部楼层
全局变量只能有一次 “定义”,但可以有多次 “声明”。
wziyi 发表于 2026-2-14 19:25 | 显示全部楼层
谢谢学习了
sfd123 发表于 2026-2-14 20:10 | 显示全部楼层
头文件 定义 变量,显然 不好!
houjiakai 发表于 2026-2-15 10:31 | 显示全部楼层
检查编译器错误              
mickit 发表于 2026-2-15 12:56 | 显示全部楼层
头文件中用extern声明全局变量,仅在一个.c文件中定义全局变量,这是 C 语言符合规范的写法,适配所有 IDE 版本。
pl202 发表于 2026-2-15 13:34 | 显示全部楼层
旧版 IDE 的编译器配置宽松              
fengm 发表于 2026-2-15 17:00 | 显示全部楼层
右键项目 → Properties;
进入 C/C++ Build → Settings → Tool Settings;
展开 MCU GCC Compiler → Miscellaneous;
在 Other flags 中添加:-fcommon
线稿xg 发表于 2026-2-25 22:38 | 显示全部楼层
头文件应避免定义变量,以免在包含不同文件时产生冲突或重复定义。
Pretext 发表于 2026-2-26 11:02 | 显示全部楼层
`static`关键字使变量或函数只在本文件内可见,便于代码共享而不会冲突。
物联万物互联 发表于 2026-3-1 21:53 | 显示全部楼层
使用`static`关键字可以限制变量只在本函数内部可见,有助于防止全局变量污染。
稳稳の幸福 发表于 2026-2-27 16:24 | 显示全部楼层
全局变量是指在程序的整个作用域内都能被访问和修改的变量,它不属于某个特定的函数、类或代码块
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0