vc.net在vs.2005编译问题
本人是vc.net的初学者,在网上下载一些vc.net的源程序,在vs2005编译时报错。这是什么原因? --------------------编程问答-------------------- 你确定是VC.NET而不是VC++6.0的程序么?--------------------编程问答-------------------- 1. 2005编译要比2003严格,
比如:类模版定义
template<typename T>
class B
{
B(T v){value = v};
T value;
...
}
实例化模版:B<float> b(0); 2003不会有错,而2005会出错改为B<float> b(0.0);
2.CRT C语言运行时库函数的改变
2003: char *strtok(char *strToken, const char *strDelimit);
2005: char *strtok_s(char *strToken, const char *strDelimit, char **context);
在2005中使用 strtok的化可以加一个宏去屏蔽错误 ,否则会说此函数已经废弃,2005使用strtok_s它多了一个产生,这样做的目的是提高CRT的可靠性。
3.动态库的不同。不一一讲了。
所以必须修改代码才能编译通过。 --------------------编程问答-------------------- 你下的版本对吗??下的源代码有时候没有包含一些动态链接库,也可能代码缺失一部分。。或者转换的时候出现问题。重新移植一下。至于运行库函数的改变,一般情况下会提示Warning。这不是错误,也会照常运行。 --------------------编程问答-------------------- 把错误贴出来吧。 --------------------编程问答-------------------- 估计是缺少那部分文件.
补充:.NET技术 , VC.NET