QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 924|回复: 8

在读代码时候的初级问题,请各位老大解答。

[复制链接]
发表于 2004-5-23 13:36:43 | 显示全部楼层 |阅读模式
读代码的时候好多地方看不太懂呢。。。

e.g:

[code:1]225 static struct {
226         const char *name;
227         u32 hw_flags;
228 } board_info[] __devinitdata = {   
             [color=red]  /*这里 devinitdata前面为什么要用两个下划线'__'呢?*/[/color]
229         { "RealTek RTL8139 Fast Ethernet", RTL8139_CAPS },
230         { "RealTek RTL8139B PCI/CardBus", RTL8139_CAPS },
231         { "SMC1211TX EZCard 10/100 (RealTek RTL8139)", RTL8139_CAPS },
232 /*      { MPX5030, "Accton MPX5030 (RealTek RTL8139)", RTL8139_CAPS },*/
233         { "Delta Electronics 8139 10/100BaseTX", RTL8139_CAPS },
234         { "Addtron Technolgy 8139 10/100BaseTX", RTL8139_CAPS },
235         { "D-Link DFE-538TX (RealTek RTL8139)", RTL8139_CAPS },
236         { "D-Link DFE-690TXD (RealTek RTL8139)", RTL8139_CAPS },
237         { "AboCom FE2000VX (RealTek RTL8139)", RTL8139_CAPS },
238         { "Allied Telesyn 8139 CardBus", RTL8139_CAPS },
239         { "RealTek RTL8129", RTL8129_CAPS },
240 };
241[/code:1]
 楼主| 发表于 2004-5-23 13:37:16 | 显示全部楼层
望各位大哥大姐指教,谢先
回复

使用道具 举报

发表于 2004-5-23 14:25:53 | 显示全部楼层
这是一种习惯,就比如gtk的各种标识符以gtk_开头,SDL的以SDL_开头一样,这样就很容易与用户定义的数据结构、函数等区分开来,保持代码的清晰易读,“__” 一般在底层代码见到,如内核、驱动程序、汇编接口等。
回复

使用道具 举报

发表于 2004-5-23 14:29:00 | 显示全部楼层
这只是起名字的一种方法,作者觉得的某一种类型,或是某一种层次的变量应该用__来与其他的变量区分开来(__也算是变量的一个部分)。比如windows提供的库中,有的是一个下划线(_),有的是两个下划线(__),其实没有什么太大的深意。
回复

使用道具 举报

 楼主| 发表于 2004-5-23 15:07:34 | 显示全部楼层
先谢谢楼上的各位大大

还是很疑惑,就只是一种习惯?
回复

使用道具 举报

发表于 2004-5-23 17:37:15 | 显示全部楼层
可能也是为了防止名字冲突吧
回复

使用道具 举报

发表于 2004-5-23 20:47:38 | 显示全部楼层
很久很久以前可能只是某些黑客高手的编程风格罢,但到了现在都成了常规了。最主要的目的确实是为了与其它用户自定义的标识易于区分,比如同样是表示计数器,大家都可能会想到用timer这个词,如果系统或常用函数库也这么取名的话就很容易起冲突,但改成其它名字又不直观,所以就在前边加下划线了,一个还是两个并无规定。
回复

使用道具 举报

 楼主| 发表于 2004-5-24 10:59:34 | 显示全部楼层
哦了,谢谢各位大大…………

这个问题和编译器没有关系吧?…………
回复

使用道具 举报

发表于 2004-5-24 11:00:28 | 显示全部楼层
没什么关系
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 06:41 , Processed in 0.045048 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表