礼品代发网

礼品代发网

收录130107113题,礼品代发网免费搜题解答

今日已更新0道题

stm32如何定义外部变量-stm32怎么定义变量

2025-11-08 06:24:39  

stm32如何定义外部变量-stm32怎么定义变量

优质解答

STM32里要定义外部变量,就是说让不同文件都能用同一个变量。比如写完main.c后,其他文件要改这个变量,得先写extern int count;然后在头文件里声明。这样编译器就知道这个变量存在,不会报错。

为什么得用extern呢?因为每个C文件都是独立编译的,编译器不知道其他文件有变量。比如main.c里声明int count=10;,如果other.c也要用这个变量,编译器会认为other.c里有重复定义。这时候就要在头文件写extern int count;告诉编译器这个变量在main.c里。根据《ARM Cortex-M3/M4开发指南》第5.3节,extern关键字会让变量存储在代码区(.text段),占用4字节(32位架构)。比如定义extern float temp;,其他文件修改temp的值,实际就是改main.c里的那个float变量。如果不用extern,链接时会报"unresolved external symbol"错误。

本题链接:

extern关键字变量作用域