VS2015已经支持简单的 struct 中定义零长度的字段 WCHAR Name[0]
关键的优点是printf这些非安全的函数,自动检测数据类型。。。真给力。
整了我一天才搞定, 合并include, lib各种细节问题。
再就是如果是MFC程序需要在StdAfx.h中添加:
// VS 2015 这几个函数是 inline 了
#if _MSC_VER >= 1900 && defined(_AFX)
extern "C" int __cdecl swprintf_s( wchar_t* const _Buffer, size_t bufsize, wchar_t const* const _Format, ... );
extern "C" int __cdecl _snwscanf_s( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ... );
extern "C" int __cdecl swscanf_s( wchar_t const* const _Buffer, wchar_t const* const _Format, ... );
extern "C" int __cdecl _vsnwprintf_s ( wchar_t *string, size_t sizeInWords, size_t count, const wchar_t *format, va_list ap );
extern "C" int __cdecl _snwprintf_s ( wchar_t *string, size_t sizeInWords, size_t count, const wchar_t *format, ... );
#endif

博客讲述了作者如何将VS2015的编译器应用于VS2010,从而实现对struct中零长度字段的支持,并且提到VS2015在printf等非安全函数上提供了自动检测数据类型的功能。文章描述了整合编译器过程中遇到的挑战,包括解决include和lib的细节问题,以及在MFC程序中需要在StdAfx.h中添加特定内容。
最低0.47元/天 解锁文章
6820

被折叠的 条评论
为什么被折叠?



