我正在使用PVS-studio将程序从x86转换为x64。在PVS-Studio中执行分析运行后,每次使用atlconv.h中定义的A2W宏时,都会收到以下与x64相关的警告:
V303 The function 'lstrlen' is deprecated in the Win64 system. It is safer to use the 'wcslen' function.
V104 Implicit conversion of '_convert' to memsize type in an arithmetic expression: _convert * sizeof (WCHAR)
V107 Implicit type conversion third argument '_convert * sizeof (WCHAR)' of function 'AtlW2AHelper' to 32-bit type.
由于atlconv是我无法接触的,我应该简单地忽略这些警告,或者在x64上执行A2W宏的首选方式是什么?
答案 0 :(得分:1)
我相信这些ATL 3.0宏已被弃用。 由于ATL 7.0提供了新的转换类。 http://msdn.microsoft.com/EN-US/library/87zae4a3(v=VS.120,d=hv.2).aspx
在大多数情况下,使用CA2W类替换A2W宏就足够了。
答案 1 :(得分:0)
如果这对其他人有帮助,我确实使用CStringW构造函数来解决它。