当前位置:  开发笔记 > 运维 > 正文

Linux设备驱动程序中的静态函数?

如何解决《Linux设备驱动程序中的静态函数?》经验,为你挑选了1个好方法。

是否有理由将linux代码中设备驱动程序中的大多数函数定义定义为静态?是否有一个原因?

我被告知这是为了确定范围和防止命名空间污染,任何人都可以详细解释为什么在这种情况下使用静态定义?



1> camh..:

声明为static的函数在它们定义的转换单元之外是不可见的(转换单元基本上是.c文件).如果不需要从文件外部调用函数,则应将其设置为静态,以免污染全局名称空间.这使得相同名称之间的冲突不太可能发生.导出的符号通常使用某种子系统标记进行标识,这进一步减少了冲突的范围.

通常,指向这些函数的指针最终会出现在结构中,因此它们实际上是从它们定义的文件外部调用的,而不是它们的函数名称.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有