1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring(1735) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\sstream(60) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>f:\极品飞车项目\json\jsoncpp-src-0.6.0-rc2\jsoncpp-src-0.6.0-rc2\src\lib_json\json_writer.cpp(527) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory(214) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>f:\极品飞车项目\json\jsoncpp-src-0.6.0-rc2\jsoncpp-src-0.6.0-rc2\src\lib_json\json_writer.cpp(76) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>f:\极品飞车项目\json\jsoncpp-src-0.6.0-rc2\jsoncpp-src-0.6.0-rc2\src\lib_json\json_writer.cpp(51) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>f:\极品飞车项目\json\jsoncpp-src-0.6.0-rc2\jsoncpp-src-0.6.0-rc2\src\lib_json\json_writer.cpp(36) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector(1153) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
1>f:\极品飞车项目\json\jsoncpp-src-0.6.0-rc2\jsoncpp-src-0.6.0-rc2\src\lib_json\json_writer.cpp(121) : warning C4748: 由于函数中禁用了优化功能,/GS 不能防止参数和局部变量造成本地缓冲区溢出
贴出其中一个函数,不知道这个函数到底哪里禁止优化了,实在搞不懂
std::string valueToString( LargestUInt value )
{
UIntToStringBuffer buffer;
char *current = buffer + sizeof(buffer);
uintToString( value, current );
assert( current >= buffer );
return current;
}
static inline void uintToString( LargestUInt value, char *¤t )
{
*--current = 0;
do
{
*--current = char(value % 10) + '0';
value /= 10;
}
while ( value != 0 );
}
} // namespace Json {
很纳闷,只要把缓冲区安全检查关掉,就没有这个警告,开启就是上面的警告