为什么有的函数名前面会一个下划线,比如LOCAL ER _ChkSpace( VP laddr, INT len, UINT mode, UINT env )
其中ER,VP,INT等都是已经定义好的宏,函数名“_ChkSpace”前面有一个下划线,为什么呢 问题点数:20、回复次数:9Top
1 楼lengsehuoyan(努力学习C语言!)回复于 2006-02-22 19:18:25 得分 2
关注!Top
2 楼Rick_ang(东方未名)回复于 2006-02-22 20:14:37 得分 2
命名规范的问题Top
3 楼thor_lee(霖哥)回复于 2006-02-22 22:14:02 得分 0
楼上正解Top
4 楼xiao88yan(水水)回复于 2006-02-23 09:26:36 得分 0
大侠,可否再讲的详细些
我好象在哪个地方看过,与C的编译有关Top
5 楼kinglytt()回复于 2006-02-25 02:27:57 得分 5
下划线是C/C++标识符名的合法组成部分,任何时候都可以使用.
不过一般最前面的下划线是作为系统保留用的,不要轻易使用.
下划线一般用于分割单词.
如some_variable.Top
6 楼fengzhiyi1(zhaoqingguo)回复于 2006-02-25 09:43:55 得分 2
前面加下划线,是开发者为了更好的隐藏函数 是个人风格的问题Top
7 楼myhouwei(myhouwei)回复于 2006-03-03 14:18:15 得分 5
从编译的角度讲,如你写的C程序
int a,b;
经过编译后,编译器把他写为_a,_b这样两个符号
所以在C中插入汇编代码时,汇编代码要引用C中定义的变量,那么他就要写带下划线的变量名
函数也这样
但从高级语言角度讲,比如C库,有的编译器厂商就把标准C库的函数前加_,与自己提供的同类型函数相区别Top
8 楼bombwang(王)回复于 2006-03-03 19:39:20 得分 2
关注Top
9 楼zl2006(巧郁)回复于 2006-03-31 08:34:13 得分 2
每个公司在开发时,都有各自的命名规范.并不是一定要尊守某种特定规范的,
不过养成良好的习惯对维护,阅读源码是有很大好处的.Top
相关问题
- 关于 OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
- UINT id = m_wndToolBar.GetItemID(i)?????????????
- java:comp/env/jdbc/aaa
- 关于OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)问题,UP有分!!!!!
- 请问一个消息问题,如:CFormView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
- CString 到 UINT or int的转换?
- UINT是什么类型?
- CBitmapButton::AutoLoad ( UINT nID, CWnd* pParent )???
- 转化为uint[]类型
- driver's SQLALLOCHANDLE ON SQL_HANDLE_ENV FAILED




