如果想要移植到unix,那么使用tchar.h是必要的,虽然gcc不支持宽字符msvcrt函数,但是,你可以通过自己重新编写tchar.h来将这些函数重定向到窄字符版本。
如果想要移植到其它编译器(如mingw)但是不准备移植到unix,那么使用winapi会更好一些。
#ifdef _MSC_VER
#include <tchar.h>
#else
#include <tchar_posix.h> // 程序自己提供此头文件,它把tchar.h中的宏重定向到窄字符版本
#endif
如果想要移植到其它编译器(如mingw)但是不准备移植到unix,那么使用winapi会更好一些。
#ifdef _MSC_VER
#include <tchar.h>
#else
#include <tchar_posix.h> // 程序自己提供此头文件,它把tchar.h中的宏重定向到窄字符版本
#endif