我使用VS 2013在Windows 7 64位编程。 我已经有一个用Linux 64位开发的代码。该代码充满了sprintf()函数。
现在,我在Windows 64位中运行该代码,它显示警报窗口。 起初,我尝试了sprintf,它显示了使用sprintf_s。所以我改变了。
更改后,我的代码窗口显示此错误。
Program : ...visual studio
2012\Project\IIS_Partial\Debug\IIS_Partial.exe
File : f\dd\vctools\crt_bld\self_x86\crt\src\vsprintf.c
Line : 233
Expression : format != NULL
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press retry to debug the application)
实际上我的代码是用C语言编写的。为什么这是指C ++。 我甚至可以调试,因为直接按下“调试”按钮会进入此错误窗口。有线索吗?
感谢您阅读:D
答案 0 :(得分:0)
这只是一个简单的配置问题。 基本上Microsoft Visual Studio 2012正在编译为32位。
因此,如果有人想要以64位运行源代码,则必须更改选项。
右键点击[解决方案] - > [properties] - > [配置] - > [Configuration Manager](窗口右上角) - > [Active Solution Platform]流程菜单 - > - > upper是'x64',lower是'Win32'。检查下方框。
并确认。现在它建立在64位环境中。 Microsoft官方网站的原始解释是: http://msdn.microsoft.com/en-us/library/vstudio/9yb4317s.aspx