9:17
1.关于求绝对值,VC++ 6.0中fabs可以求整数的绝对值。但是在VS2008中,fabs用于求浮点数的绝对值,abs用于求整数的绝对值。
2.VC++6.0中消息返回类型可以是BOOL,VS2008中只能是LRESULT。
10:04
1.error LNK2019: 无法解析的外部符号 "__declspec(dllimport)
(1)搜集的资料1:
我在VS2005下写C++的程序,采用一个工程生成DLL文件给另一个工程执行,但每次执行时都出现 error LNK2019: 无法解析的外部符号 "__declspec(dllimport)错误。检查了好几遍代码都觉得没有问题。
最后发现是字符集出现问题。生成DLL文件的字符集是Unicode而生成exe文件的字符集为默认的ASCII。
只要统一字符集即可解决问题:
VS2005的c++项目默认字符集是使用 Unicode 字符集,在项目属性->配置属性-->常规->项目默认值->字符集中设置字符集即可。
补充VC6.0是默认采用ASCII字符集的。
(2)搜集的资料2:
在项目属性 -> 链接器 -> 输入 里面加上添加的.lib就行了。
(3)搜集的资料3:
因为你的DLL是6.0编译出来的,在2005以上用肯定有问题;问题就出在CString上,一个是类,一个是模板
11:42
1.VC++ 6.0中CString能自动转换成const char*,但VS2008中不行,可以通过(const char*)(LPCTSTR)来转换。