当前位置:首页 > 问问

stm32中extern是什么意思 STM32中extern关键字的含义

1、什么是extern

在c语言中,extern关键字的主要作用是用于引用在其他文件中定义的外部变量、函数或者其他外部实体。

在stm32中,由于通常会使用多个.c文件完成一个应用程序的编写,为了能够在多个文件中访问同一个变量,我们可以使用extern关键字进行声明。这时候,变量并没有被分配内存空间,仅仅是告诉编译器这个变量在其他地方有定义。在链接时,编译器会去寻找这个变量的实际定义,并将所有引用该变量的地方链接到实际定义处。

2、extern变量的使用场景

在嵌入式开发中,我们经常会需要定义一些全局变量用于共享数据。而由于需要在多个.c文件中使用这些变量,这时就可以使用extern来声明这些全局变量。

举个例子,如果我们要使用一个全局变量“count”,那么我们可以在需要使用该变量的文件中使用extern关键字进行声明:

extern int count;

这样,编译器在编译该文件时就不会分配内存空间,而是在链接时寻找全局变量“count”的实际定义。

3、extern函数的使用场景

除了用于声明全局变量外,extern还可以用于声明函数。如果在一个.c文件中定义了一个函数,而在其他文件中需要调用该函数,我们同样可以使用extern进行声明。

如下面的例子,我们在文件A.c中定义了一个函数foo(),并将其进行了extern声明。在文件B.c中,可以直接调用该函数:

// A.c文件中:

void foo(); // extern声明

void main(){

    foo();

}

// B.c文件中:

extern void foo(); // 外部声明

void bar(){

    foo();

}

4、总结

在stm32开发中,extern关键字主要用于声明在其他文件中定义的外部变量、函数等外部实体。通过使用extern关键字,可以方便地在多个.c文件中访问同一个变量,实现代码的复用。

需要注意的是,extern只是告诉编译器某个变量或函数在其他地方定义,只有在链接时才会分配内存、实现代码跳转。因此,在使用extern声明之前,确保该变量或函数在其他文件中有定义。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章