Visual Studio 2019 一些问题汇总
写在开头
本着熟悉知识+经验分享的精神而作,重新使用c语言又遇到了之前的坑,记录一下博主最近遇到的一些问题,如果有任何疑问可以联系博主,相互学习。
问题1:fopen不安全
error C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
解决办法:
1、打开项目属性
2、选择c/c++下的预处理器
3、编辑预处理器定义,添加_CRT_SECURE_NO_WARNINGS即可
问题2:Stack overflow(堆栈溢出)
解决办法:
这种问题在直接运行不会报错,会卡住然后错误退出;调试中才会报错,我们需要调高堆栈分配大小。
1、打开项目属性
2、打开链接器下的系统菜单
3、按需修改堆栈保留大小(默认1M)即可
20971520 = 1024 *1024 *20 = 20M
问题3:同一个解决方案下运行多个main函数
只有子程序可以和包含main函数的程序放在一个解决方案下,出现另外一个main()函数就会报错,当然你可以把另一个mian改成其他的名字,但如果两个程序有相同的函数定义或者其他,也会报重复定义的错。
需求:debug结束后进行优化时需要建立副本保留原始程序,防止修改失误导致程序崩溃
解决办法:
1、右击解决方案添加一个新的项目即可
2、在新的项目里进行优化
问题4:“error LNK 1168:无法打开xxxxxx.exe进行写入”
一般是进程没有正确进行,或者是有异常,然后被直接关闭导致。
解决办法:
1、等待前一个进程崩溃;
2、把之前Debug文件夹里生成的.exe文件删掉;
3、最根本的办法:打开控制面板->管理工具->服务->启用Application Experience服务。
4、命令行操作
(1)、win+R输入cmd打开命令行窗口,输入tasklist命令在列表中找到自己要关闭的进程的PID;
(2)、输入 taskkill /PID XXXX xxx为进程名,
(3)、(2)关不了则输入taskkill /PID XXXX /F 强制关闭