linux大量使用了static关键字用来修饰函数和结构体定义,为何?
linux的内核代码大量使用了static关键字,到处可见,不管是函数还是struct
结构体定义都大量使用了static关键字,这么做的目的是什么?对于多线程数据
共享和线程自己的数据内容又该如何考虑?

解决方案 »

  1.   

    个人觉得是因为linux是C语言的,其代码量巨大,容易产生名称冲突,所以使用static来减少冲突情况的产生。
      

  2.   

    使用static来减少函数或变量的作用域
      

  3.   

    和LS的两位意思差不多,static可以减少函数的使用,也就起到了便于维护的作用(不用同时修改多处地方的代码)。但是这同样破坏了类的结构性,老板也一直不让我使用static的接口。
    一直觉得C++是注重结构性的语言,虽然性能很重要,但是C++更注重接口的使用,以良好的设计带来良好的性能与易拓展性。这和C语言有些不同吧~
      

  4.   

    static函数的访问区域为文件级的,普通的函数是项目级的
    c语言没有namespace,大概用static来减少冲突吧