注册 登录
编程论坛 VC.NET论坛

VC.NET和VC6.0是不是有兼容性问题

robbiluo 发布于 2006-07-24 08:33, 4594 次点击
为什么我在6。0下面可以编译成功的在NET下面就有错误啊
28 回复
#2
热情依然2006-07-24 08:37
应该换过来吧,vc6.0的代码肯定可以在.NET运行,但是.NET的代码在VC6.0有些是运行不了的因为.NET的是MFC7.0
#3
robbiluo2006-07-24 08:40
啊。。为什么,偶的是2003,老是弹出一些错误。。。
#4
robbiluo2006-07-24 09:00
的项目怎么删除啊,我刚接触.NET,还有就是怎么把6.0生成的源文件添加到.NET的项目中去,各位帮帮我
#5
热情依然2006-07-24 09:11
你用鼠标单击项目名称,然后按DEL就可以删除,另外你要将你出问题的代码贴出来,那才可以解答你的问题
#6
robbiluo2006-07-24 09:43

这是随便打开的一个文件
f:\exec\primer\one\one.cpp(2): fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory,这是错误的提示






//根据半径计算圆的周长和面积
#include <iostream.h>
const float PI=3.1416; //声明常量(只读变量)PI为3.1416
float fCir_L(float); //声明自定义函数fCir_L()的原型
float fCir_S(float); //声明自定义函数fCir_S()的原型

//以下是main()函数
main()
{
float r,l,s; //声明3个变量

cout<<"R="; //显示字符串
cin>>r; //键盘输入
l=fCir_L(r); //计算圆的周长,赋值给变量l
s=fCir_S(r); //计算圆的面积,赋值给变量s
cout<<"l="<<l; //显示计算结果
cout<<"\ns="<<s;
}

//定义计算圆的周长的函数fCir_L()
float fCir_L(float x)
{
float z=-1.0; //声明局部变量
if (x>=0.0) //如果参数大于0,则计算圆的周长
z=2*PI*x;
return(z); //返回函数值
}

//定义计算圆的面积的函数fCir_S()
float fCir_S(float x)
{
float z=-1.0; //声明局部变量
if (x>=0.0) //如果参数大于0,则计算圆的面积
z=PI*x*x;
return(z); //返回函数值
}

#7
十一月天2006-07-24 10:12
#include "iostream.h"
#8
热情依然2006-07-24 10:14

这肯定有问题了.VC.NET是支持标准C++的,哈哈,看来你看的那些是垃圾书来的.
你要用标准C++语法声明头文件

#incldue <iostream>
using namespace std; //using定义符号,令std命名空间的全部内容可见

还有mian函数前面 加上void或者int明确函数没有返回值或有返回值

#9
robbiluo2006-07-24 10:25
以下是引用热情依然在2006-7-24 10:14:00的发言:

这肯定有问题了.VC.NET是支持标准C++的,哈哈,看来你看的那些是垃圾书来的.
你要用标准C++语法声明头文件

#incldue <iostream>
using namespace std; //using定义符号,令std命名空间的全部内容可见

还有mian函数前面 加上void或者int明确函数没有返回值或有返回值

啊。偶用的是号称北大的教材。。。。。

#10
robbiluo2006-07-24 10:27
one error LNK2019: 无法解析的外部符号 _WinMain@16 ,该符号在函数 _WinMainCRTStartup 中被引用
one fatal error LNK1120: 1 个无法解析的外部命令
f:\exec\primer\one\one.cpp(4): warning C4305: “初始化” : 从“double”到“const float”截断


改了之后有这些错误了,在6。0下面是好的
#11
热情依然2006-07-24 10:33

你是不是建立空的控制台应用程序??怎么程序跑去连接windows应用程序??_WinMain是windows应用程序的入口啊,你肯定是创建了错误的工程,我的C++都是在vc2003学的

#12
robbiluo2006-07-24 10:36
啊。。。不知道,偶的所谓的垃圾书上是这么说的,6。0的程序只能在控制台应用程序下面调试吗,怎么把VC6.0的源程序直接添加到NET里面啊,我每次都是把6.0的源程序打开,然后复制粘贴到NET里面。。。。
#13
热情依然2006-07-24 10:38
晕,你直接双击项目里面VC6.0的那个启动标志,然后.NET回要求转换的,你说全部,就可以运行了
#14
robbiluo2006-07-24 10:53
版主,谢谢。。。。项目,不知道那个VC6.0的启动标志在哪里,.NET太奥妙了
#15
十一月天2006-07-24 10:54
robbiluo不要总说6.0里是对的,你要搞清楚VC6.0和VC.NET是不同的两种东西,他们写的程序的设计思想都不一样,NET是照着JAVA做的,写个类吧,然后再用main函数实例化类,调用类的方法吧
#16
robbiluo2006-07-24 11:00
偶也是自学的,拿了我朋友一本现在教材鼓捣了一年,现在想学学.NET,呵呵,所以很多不清楚的地方,谢谢版主们的帮助,有很多问题都是自己琢磨的,只是这个问题昨天困扰了我一晚啊。。。。不搞清楚今天又要睡不着了,呵呵。.NET和6.0的语法是不是一样的呢
#17
热情依然2006-07-24 11:03

斑竹不要激动,我知道楼住问什么,搂住其实就是用VC.NET的控制台应用程序来写C++,但是VC.NET已经是支持标准C++的,所以对于古老的#include<iostream.h>这类的头文件方式不支持了,全部都弄在#include<iostream>里面,但是VC6.0并不完全支持标准C++,所以以上程序可以运行.楼住在你的项目找到 .dsw文件,这个用.NET来打开,.NET会要求转换的,这个时候你按全部就是了

#18
robbiluo2006-07-24 11:04
恩,谢谢两位好心的版主
#19
robbiluo2006-07-24 11:09
以下是引用热情依然在2006-7-24 11:03:14的发言:

斑竹不要激动,我知道楼住问什么,搂住其实就是用VC.NET的控制台应用程序来写C++,但是VC.NET已经是支持标准C++的,所以对于古老的#include<iostream.h>这类的头文件方式不支持了,全部都弄在#include<iostream>里面,但是VC6.0并不完全支持标准C++,所以以上程序可以运行.楼住在你的项目找到 .dsw文件,这个用.NET来打开,.NET会要求转换的,这个时候你按全部就是了

版主是说直接在项目里面打开.DSW文件吗,可是我以前写的都是.CPP?我对项目这个概念还是不太了解,就是不知道怎么在已建立的项目里面把以前写过的源文件添加进来。。。

#20
热情依然2006-07-24 11:29

是啊,用.NET来打开, 本来C++的文件的后缀名称就是.CPP的,因为C++全名是c plus plus,我建议你先不要.Net了,你先将VC6.0的项目搞清楚先那个.DSW是VC的项目启动文件来的,跟C++的文件没有关系

#21
robbiluo2006-07-24 11:32
唉~~~看样子是的啊。。。功夫不到家
#22
十一月天2006-07-24 12:21
以下是引用robbiluo在2006-7-24 11:32:05的发言:
唉~~~看样子是的啊。。。功夫不到家

建议你去买本NET书看看,NET的设计思想和VC不同在于类的继承方式,尤其是JAVA,更是把所有的东西都看成类,VC就不是了,VC里有类,也有函数。

#23
热情依然2006-07-24 12:35
但是JAVA都有函数的,叫"方法",跟C#一样.还有个叫"属性",听了我都想哭了,混乱
#24
十一月天2006-07-24 15:31
以下是引用热情依然在2006-7-24 12:35:27的发言:
但是JAVA都有函数的,叫"方法",跟C#一样.还有个叫"属性",听了我都想哭了,混乱

函数,java里的函数是方法,因为java里,所有的东西都要写到类里,在.NET里也是一样的,当你见一个.NET的窗体的时候,都是自动给你生成了一个类的,你的代码就写在类里,(别跟我谈.NET里的MFC类就不是这样,因为他不是真正的.NET的项目)。

#25
热情依然2006-07-24 16:27
恩恩,同意,运行机制都不同的
#26
myajax952006-07-26 13:19
两个方向都不行,都有一些细小的区别。
#27
wxbhsp2006-07-28 15:32

只懂c++,没有学过vc,直接学习vc.net不知道行不行?要不要什么基础知识,我是新手,谢谢了,

#28
VC盲童2006-07-29 11:45
谁看过周长发编的《Visual C++.NET多媒体编程》这本书呀。里面的光盘是书中例子的代码吗?
哪里可以下载VC++。NET的开发环境呀
#29
WindyGo2006-08-02 15:28
VC.NET不支持main函数为入口函数啊~~
VC.NET应该用_tmain为控制台程序的入口函数

[此贴子已经被作者于2006-8-2 15:39:04编辑过]

1