近日,发现光用C#还是不行,毕竟许多老代码都是C++等其他语言写的,所以决定学C++。
作为初学者,连编译环境等都不了解,问了一些高手,他们推荐N多编译器,我晕了(云里来雾里去的,一点不过份)。
由于我用的是WINXP,VS2003.Net,虽然VS里面可以直接调试,但类似:#include <iostream.h>的语句需要修改成:#include <iostream>,还要加上:using namespace std;感觉不爽,所以我想在DOS下调试,虽然那个黑乎乎的窗口是有点难看,但我想那是学习的好途径。
后来,看到网上一篇文章http://www.jjhou.com/article99-10.htm,一看作者,竟是侯捷大侠的!
于是依葫芦画瓢,首先通过搜索计算机文件,找到CL.EXE及MSPDB60.DLL文件所在位置,注意所在目录中带有“VC98\BIN”“COMMON\MSDev98\”字样,找到我电脑中在:C:\Program Files\Microsoft Visual Studio\VC98等下面,于是写了一个批处理文件,暂时就取名VC.bat吧。其内容如下:
set PATH=C:\Program Files\Microsoft Visual Studio\VC98\BIN;C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\BIN
set INCLUDE=C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
set LIB=C:\Program Files\Microsoft Visual Studio\VC98\LIB;C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
我用记事本建立它,并把它保存在c:\下,这样做只是为了方便调用而已。
然后,我将我的C++程序,取名叫Factor.cpp:
#include <iostream.h>
int Factor(int,int&,int&);
void main()
{
/*-------------------------------*/
int number, squared, cubed, error;
cout << "Enter a number(1-30):";
cin >>number;
error = Factor(number, squared, cubed);
if(error)
{
cout<<"Error encountered!\n";
}
else
{
cout <<"Number:"<<number<<endl;
cout <<"Squared:"<<squared<<endl;
cout<<"Cubed:"<<cubed<<endl;
}
}
int Factor(int n, int& rSquared, int& rCubed)
{
if(n>30 || n<1)
{
return 1;
}
rSquared = n * n;
rCubed = n * n * n;
return 0;
}
为了调试方便,也存在C:\目录下。
然后,Start-Run,Open栏中输入cmd,OK进入DOS状态,然后键入c:回车(如果当前已在C盘中则不用此步),再cd\回车进入C根目录下,键入VC回车(这步是调用我刚才编写的VC.bat批处理程序)。这时看到屏幕上显示我刚才编写的批处理的内容,代表它已被执行。
接下来,键入:CL factor.cpp回车,C++编译器为我们自动编译factor.cpp程序(在C:\目录下,我们可以看到,它自动生成了factor.obj和factor.exe两个文件)。
最后,就是测试我的运行文件factor.exe了。键入factor回车,可以看到:
Enter a number(1-30):提示,这时可以输入:1至30以内的整数,比如20,结果:
Number:20
Squared:400
Cubed:8000
这正是程序的要求,一切OK。
如果使用VCVARS32.BAT而不是自行编写批处量程序,那么,请将VCVARS32.BAT文件COPY到你的调试目录下(这里是C:\),这样相对比较方便。