有关头文件里的“_”和“__”的问题
谁能帮帮我,给我解释一下这下划线的作用和意义??我一直不明白,只知道用,还有比如c库函数里的time.h里unsigned __cdecl _getsystime(struct tm *); 等等,小弟在此先谢谢了。 问题点数:20、回复次数:9Top
1 楼UPCC(杂食动物)回复于 2006-07-03 14:06:35 得分 0
“__”表示文件定义的一些宏什么的?
“_"表示系统API函数?
其实具体区分不大情况(sorry)
帮你顶!Top
2 楼franson12()回复于 2006-07-03 14:13:19 得分 0
这个。。。好象还是不明白Top
3 楼jixingzhong(瞌睡虫·星辰)回复于 2006-07-03 14:51:39 得分 0
__表示是系统(或者是编译环境)定义的,
_ 表示是自己定义的,在编译后生成的,
(编译后的函数、变量的名字都会变化,如增加下划线等)。Top
4 楼happytang(一只叫苏格拉底的猪)回复于 2006-07-03 22:06:30 得分 0
__是为了编译器解释,告诉编译器产生什么样的汇编代码
在默认情况下,采用__cdecl方式,因此可以省略.
__cdecl是C/C++和MFC程序默认使用的调用约定,也可以在函数声明时加上__cdecl关键字来手工指定。采用__cdecl约定时,函数参数按照从右到左的顺序入栈,并且由调用函数者把参数弹出栈以清理堆栈。因此,实现可变参数的函数只能使用该调用约定。
_是正常的变量名,自己定义的可以以字母或者_开始Top
5 楼kzzk(毅)回复于 2006-07-03 23:48:21 得分 0
其实用什么标号全凭习惯 你也可以用 也可以不用
上次差点被 _SYSTEMTIME搞翻了Top
6 楼franson12()回复于 2006-07-04 09:15:49 得分 0
谢谢各位大哥帮忙,那我什么时候该用什么时候不该用"__,_"继续请教,能不能象kzzk(毅) 说的凭自己习惯来用?Top
7 楼Kenmark(fenix)回复于 2006-07-04 16:48:43 得分 0
接口函数最好不要用_很基本的函数或是宏可以用_,一般private的基本的函数((不带有数据安全检查的最好用_标记一下,很复杂的基础宏用__标记一下Top
8 楼Kenmark(fenix)回复于 2006-07-04 16:49:55 得分 0
一般做大的工程不能随着自己的性子来,没有良好的编码习惯怎么可以,至少自己要有个编码的习惯和标准嘛!参考写的精简的人家的代码和人家的编码风格对你会有好处Top
9 楼cppstl()回复于 2006-07-06 11:13:37 得分 0
在C/C++中以两个下划线开头以及以一个下划线后跟一个大写字母开头的标识符是系统保留的,定义自已的标识符时应避免这两种情况.Top




