由于教学的原因,我需要使用VC++6.0来运行C++的程序,但是,我很早就安装了Visual Studio 2005,现在也安装了Visual Studio 2008了,不想再安装VC++6.0,并使用它的IDE了,因为它与VS.Net的IDE相比真的是有天壤之别。一直听说Visual Studio.Net对标准C/C++支持的不错,是可以兼容的,但自己从来没有试过,现在自己需要了,就想使用Visual Studio.Net的IDE并编译标准C/C++程序。
自己在网络中查了一下,并结合自己的经验介绍一下,如何使用Visual Studio.Net来编译和执行标准的C/C++程序。
首先,建立Visual C++的Win32项目,应用程序类型是控制台应用程序,附加选项为空项目,然后,在解决方案管理器中选择,源文件文件夹上点击鼠标右键,在快捷菜单中选择新建项选项,打开添加新项对话框,在类别列表中,选择Visual C++ 代码,点选C++文件(.cpp),输入源代码文件名字,注意扩张名为.cpp,这时系统调用C++编译器,并在此文件中输入C++代码。例如:
#include<iostream>
using namespace std;
class M
{
public:
M(){x=y=0;}
M(int i,int j){x=i;y=j;}
void copy(M &m);
void setxy(int i,int j){x=i;y=j;}
void print(){cout<<x<<","<<y<<endl;}
private:
int x,y;
};
void M::copy(M &m)//m为指向对象的引用,作成员函数copy()的参数
{
x=m.x;
y=m.y;
}
void fun(M m1,M &m2);
void main()
{
M p(5,7),q;
q.copy(p);//实参为对象p,对应形参引用m,即m是对象p的引用
fun(p,q);//形参m2是对象q的引用,在函数内部对m2的改变,影响到了实参q;而对象p作为参数时,对形参m1的改变没有影响实参p的改变
p.print();
q.print();
}
void fun(M m1,M &m2)
{
m1.setxy(12,15);
m2.setxy(22,25);
}
注意:开头的两行代码
1.需要将原来C++中的头文件的.h扩张名去掉,如,#include<iostream>
2.需要加入命名空间说明,using namespace std;
如果要编译的是标准C程序,需要输入源代码文件名字,注意要使用扩展名.c,这时系统默认的调用C编译器,并在此文件中输入C代码。
例如:
#include<stdio.h>
int main()
{
int i=1;
printf("%d",i);
}
通过上面的方法就可以利用Visual Studio.Net的优秀的IDE环境,并可以编译标准C/C++程序了,不过,不能单独编译C/C++程序,只能通过建立空工程,然后再添加文件的方法。