当前位置: 技术问答>linux和unix
请问libc以及很多unix的代码中的函数都以__开头,有什么特殊的含义吗?回者有分
来源: 互联网 发布时间:2015-06-27
本文导语: 多谢 | C++标准(条款17.4.3.1.2,“Global names”)规定: 下列名字和函数总是保留给编译器: ·所有带双下划线(__)或以一个下划线加一个大写字母开始的名字保留给编译器随意使用。 ·所...
多谢
|
C++标准(条款17.4.3.1.2,“Global names”)规定:
下列名字和函数总是保留给编译器:
·所有带双下划线(__)或以一个下划线加一个大写字母开始的名字保留给编译器随意使用。
·所有以一个下划线开始的名字保留给编译器作全局名称用。
C标准有类似的申明。
下列名字和函数总是保留给编译器:
·所有带双下划线(__)或以一个下划线加一个大写字母开始的名字保留给编译器随意使用。
·所有以一个下划线开始的名字保留给编译器作全局名称用。
C标准有类似的申明。
|
好像没有特殊含义吧,只是符号,为了区分一般函数
|
同意楼上,所以一般建议程序中不使用以“__”开头的标识符。
|
同上!
|
因为C没有namespace,为了避免程序员写的函数与库里的函数名冲突,库里面的函数都以__开头,然后建议一般的函数不要以他们开头。
|
只是为了更大可能的防止冲突。就像系统常量用大写一样。
|
关注,帮顶一下。
|
这是"故弄玄虚"的一种编程风格
|
约定俗成的一种编成习惯
|
下划线开头的函数和变量一般是系统保留的,程序一般不需调用.
|
我理解是,普通函数和库函数不带__,带__的函数一般是系统函数,是更底层一些的函数。