单片机中extern
时间: 2024-06-17 12:07:45 浏览: 100
在单片机C语言中,extern关键字可以用来声明一个在其他文件中已定义的全局变量或函数。具体来说,extern关键字可以有以下两种用法:
1. 在头文件中使用extern声明全局变量或函数,并在需要使用该变量或函数的C文件中包含该头文件。这样做的目的是为了告诉编译器该变量或函数的定义在其他文件中,编译器在编译时不会报错,而是在链接时从其他文件中查找该变量或函数的定义并进行连接。
例如,可以在一个头文件中声明一个全局变量:
```c
extern int g_Int;
```
然后,在需要使用该变量的文件中包含该头文件:
```c
#include "header.h"
void main()
{
int a = g_Int;
}
```
2. extern还可以用来进行链接指定,指定函数或变量按照何种方式进行链接。例如,可以使用extern "C"来指定按照C语言的方式进行链接,而不是C++的方式。
例如,可以使用extern "C"来声明一个C语言风格的函数:
```c
extern "C" void fun(int a, int b);
```
以上就是单片机C语言中extern关键字的用法。
相关问题
单片机extern用法
在单片机编程中,"extern"是一个关键字,用于声明一个全局变量或函数,该变量或函数实际上是在其他文件中定义的。通过使用"extern"关键字,你可以在当前文件中引用其他文件中定义的变量或函数。
当你在一个文件中使用"extern"关键字声明一个变量时,它告诉编译器该变量是在其他文件中定义的,并且该变量的定义将在链接阶段解析。这样,编译器将不会为该变量分配存储空间。
例如,假设你在文件A.c中定义了一个全局变量num:
```
int num = 10;
```
然后,在文件B.c中,你可以通过使用"extern"关键字声明该变量:
```
extern int num;
```
这样,在文件B.c中就可以使用num变量,而不需要重新定义它。编译器将在链接阶段将文件A.c中的num与文件B.c中的引用关联起来。
类似地,你也可以使用"extern"关键字声明其他文件中的函数。例如,如果你在文件A.c中定义了一个函数func:
```
void func() {
// 函数体
}
```
然后,在文件B.c中,你可以通过使用"extern"关键字声明该函数:
```
extern void func();
```
这样,在文件B.c中就可以调用func函数,而不需要重新定义它。编译器将在链接阶段将文件A.c中的func与文件B.c中的引用关联起来。
总而言之,"extern"关键字在单片机编程中用于引用其他文件中定义的全局变量或函数,让你可以在当前文件中使用它们而不需要重新定义。
c51的extern
C语言中extern关键字用于声明一个变量或函数是在其他文件或模块中定义的,告诉编译器在其他文件中寻找这个变量或函数的定义。在C51单片机中,extern关键字可以用于声明在其他文件中定义的函数或变量,以便在当前文件中使用它们。例如,在你提供的代码中,extern unsigned char MtxKBInput()函数的定义可能在其他文件中,而在当前文件中使用extern关键字声明该函数,以便在当前文件中使用该函数。
范例:
```c
// 在文件a.c中定义函数MtxKBInput
unsigned char MtxKBInput() {
// 函数实现
}
// 在文件b.c中使用函数MtxKBInput
extern unsigned char MtxKBInput(); // 使用extern关键字声明函数
void main() {
unsigned char input = MtxKBInput(); // 调用函数
// 其他代码
}
```
阅读全文