双下划线(_Const)在C中是什么意思?

双下划线(_Const)在C中是什么意思?

extern int ether_hostton (__const char *__hostname, struct ether_addr *__addr)
 __THROW;

我在Linux机器上的/usr/include/netinet/ether.h中找到了上面的函数定义。

有人能解释一下在Const(关键字)、addr(标识符)和Finest_PUT前面双下划线意味着什么吗?


www说
浏览 721回答 3
3回答

饮歌长啸

下划线in_const意味着这个关键字是一个编译器扩展,使用它是不可移植的(Const关键字在后面的修订版中添加到C中,我认为是89)。_PUT也是某种扩展,如果使用GCC,我假设它被定义为_属性_(某某),但我不确定,而且太懒,不愿意检查。_addr可以表示程序员希望它表示的任何东西,它只是一个名称。
打开App,查看更多内容
随时随地看视频慕课网APP