您的位置:首页 > 其它

MFC之VS2013使用错误集

2017-03-16 10:40 771 查看
一、
错误提示:error C4996: 'sprintf': This function or variable may be unsafe. Cons
错误代码:sprintf(sendBuff, "Message %d", ncount++);
错误原因:VS2013中IDE默认禁止这种容易产生漏洞的旧函数
解决办法:
1、使用更安全的函数
2、在错误代码前面添加#pragma warning(disable:4996)
二、
错误提示:错误 3 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.e:\2013vs\dhcp\dhcp\dhcpview.cpp1981 DHCP

解决办法:项目 =》属性 =》c/c++  =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS,OK
三、
(16进制数据)char转换为CString,
CString add;
add.Format("%x",char_16);
其中%02X为不够两位数的用0补齐两位数显示
%hhX为显示两位数,不管是否超过2位数,只显示两位数
因为vs2013中编译器设置char实际为signed char,使用%02X不会只显示两位。
正确操作:add.Format("%02X",(unsigned char)char_16);

四、关于“在共享DLL中使用MFC”和“静态库中使用MFC”
第一种:打包的exe中不会包含DLL所以软件本身会比较小,但是必须要求使用这个exe软件的电脑上必须装有这些DLL,不然会出现运行错误,找不到这些dll
第二种:打包的exe中会包含DLL,所以软件本身会比较大,但是不需要使用软件的电脑上有这些DLL。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: