首页 > 其他分享 >STM32

STM32

时间:2023-02-24 13:33:26浏览次数:40  
标签:int void weak value STM32 申明 extern

 ifdef

#ifdef X
....(如果X这个标识符定义了,运行这段程序)

#else
....(如果标识符没有定义,运行这段程序)
#endif (结束ifdef)

#ifndef X
....(如果X这个标识符没有定义,运行这段程序)

#else
....(如果标识符定义了,运行这段程序)
#endif (结束ifdef)

typedef 

typedef unsigned    char uint8_t(类型别名)

extern 

extern    当申明的id不在同一个作用域时用extern申明



A文件
int a=10;

B文件 (直接使用a会报错,需要使用extern申明)
extern int a;
a=100;

static 

Static申明的局部变量,存储在静态存储区 。

静态的局部变量在初始化时只会初始化一次,所以可以说static申明的局部变量,具有记忆功能。

Static申明的函数作用域仅限当前.c文件,其他.c无法调用

int getstaticvalue(void)    (调用一次value就会加一,只有第一次value会赋0)
{
static int value=0;
value++;
return value;
}


int getstaticvalue(void) (调用一次value加一,再次调用value赋0重新加一)
{
int value=0;
value++;
return value;
}

_ _weak

A.c文件里
void weak(void)
{
printf("s");
}

B.c文件里
_ _weak void weak(void)
{
printf("a");
}

如果没有重新定义weak函数,则会调用B文件里的,如果又定义了会执行A文件里的,weak降低调用等级

标签:int,void,weak,value,STM32,申明,extern
From: https://blog.51cto.com/u_15321522/6083872

相关文章