千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 嵌入式开发:为何头文件声明时加extern定义时不要加

嵌入式开发:为何头文件声明时加extern定义时不要加

来源:千锋教育
发布人:xqq
时间: 2023-12-12 05:45:55 1702331155

在嵌入式开发中,头文件的声明和定义是一个常见的问题。在C和C++中,通常会使用头文件来声明函数、变量和类型等,以便在不同的源文件中共享这些声明。然而,在使用头文件时,有时会遇到需要在头文件中进行声明但不进行定义,或者需要在源文件中进行定义但不进行声明的情况。在这种情况下,我们通常会使用extern关键字来进行声明,但不会在定义时使用extern关键字。下面我们将详细探讨为什么要这样做。

头文件中的声明

在头文件中进行声明时,通常使用extern关键字来表示这是一个外部的声明,而不是定义。例如,当我们在头文件中声明一个全局变量或者函数时,我们会使用extern关键字来表示这只是一个声明,而不是定义。这样做的目的是为了告诉编译器,这个变量或函数的定义在其他的源文件中,需要在链接时进行解析。

源文件中的定义

在源文件中进行定义时,我们不需要再次使用extern关键字,因为在这里我们要进行的是定义,而不是声明。在源文件中,我们会给变量分配内存或者给函数提供具体的实现,这就是定义。因此,我们不需要再次使用extern关键字来表示这是一个外部的声明。

为什么这样做?

这种区分声明和定义的方式有助于提高代码的可维护性和可移植性。通过在头文件中使用extern进行声明,我们可以清晰地表明这只是一个声明,而不是定义,这样可以避免在多个源文件中包含同一个头文件时引起的重复定义错误。而在源文件中进行定义时,我们不需要再次使用extern,这样可以使代码更加清晰和简洁。

实际应用

在实际的嵌入式开发中,我们通常会遵循这种声明和定义的方式来管理头文件。这样做有助于避免因为重复包含头文件而引起的重复定义错误,同时也有助于提高代码的可读性和可维护性。

总结

在嵌入式开发中,头文件的声明和定义是一个重要的问题。为了提高代码的可维护性和可移植性,我们通常会在头文件中使用extern进行声明,而在源文件中进行定义时不再使用extern。这种区分声明和定义的方式有助于避免重复定义错误,并使代码更加清晰和简洁。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT