一般来说带下划线的函数都是Microsoft run time library中的函数,他们不是标准的ANSI C函数。 这是微软原先想要在其他平台上在程序中不需要调用windows.h就可以直接在别的平台上用的,为了向windows以外的平台上用的,但是有些函数微软只是露出了这个想法,没有锄地实现,比如_beginthreadex函数,在要关闭线程时还需要调用Closehandle函数,所以还是依赖windows平台的,当然有很多为软定义的以_开头的函数已经成功的可以跨越平台使用,在_FIlE,_T就是可以跨越平台的,他们不是ANSI C标准的函数,详细情况你可以看看深入浅出MFC,最好看看Microsoft Designed C++(C++创始人著)
一般来说带下划线的函数都是Microsoft run time library中的函数,他们不是标准的ANSI C函数。 这是微软原先想要在其他平台上在程序中不需要调用windows.h就可以直接在别的平台上用的,为了向windows以外的平台上用的,但是有些函数微软只是露出了这个想法,没有锄地实现,比如_beginthreadex函数,在要关闭线程时还需要调用Closehandle函数(这个函数需要windows.h),所以还是依赖windows平台的,当然有很多为软定义的以_开头的函数已经成功的可以跨越平台使用,在_FIlE,_T就是可以跨越平台的,他们不是ANSI C标准的函数,详细情况你可以看看深入浅出MFC的线程部分,最好看看Microsoft Designed C++(C++创始人著)
命名而已嘛
很多情况下,只是为了防止重名,所以用了这个
比如预编译的
#ifndef _FILE_
...
#endif
抛砖引玉而已
还有一些是ascii码改为UNICODE码使用的 (例如_T)
这是微软原先想要在其他平台上在程序中不需要调用windows.h就可以直接在别的平台上用的,为了向windows以外的平台上用的,但是有些函数微软只是露出了这个想法,没有锄地实现,比如_beginthreadex函数,在要关闭线程时还需要调用Closehandle函数,所以还是依赖windows平台的,当然有很多为软定义的以_开头的函数已经成功的可以跨越平台使用,在_FIlE,_T就是可以跨越平台的,他们不是ANSI C标准的函数,详细情况你可以看看深入浅出MFC,最好看看Microsoft Designed C++(C++创始人著)
这是微软原先想要在其他平台上在程序中不需要调用windows.h就可以直接在别的平台上用的,为了向windows以外的平台上用的,但是有些函数微软只是露出了这个想法,没有锄地实现,比如_beginthreadex函数,在要关闭线程时还需要调用Closehandle函数(这个函数需要windows.h),所以还是依赖windows平台的,当然有很多为软定义的以_开头的函数已经成功的可以跨越平台使用,在_FIlE,_T就是可以跨越平台的,他们不是ANSI C标准的函数,详细情况你可以看看深入浅出MFC的线程部分,最好看看Microsoft Designed C++(C++创始人著)