如何⽤命令⾏编译c++程序
作为程序员,如果仅仅只懂得如何在IDE上拖控件写程序,⽽不知道如何直接通过编译器编译程序的话。虽然说也没啥⼤不了的,但是如果掌握了⼿动编译的技能,那肯定会是⼀种炫技般的存在。从客观的⾓度来讲,⼀⽅⾯,这种技能帮你在同事或同学⾯前体现在⾃⼰的编程⽅⾯的“⾻灰级”地位。另⼀⽅⾯,这种脱离了IDE的编译过程在你刷题的时候能帮你摆脱很多IDE上的恼⼈事故。
实际上,⽹上⼀,确实有不少这个⽅⾯的⽂章,不过好多都是基于32位的win7或者win8的系统的,很不巧的是,本⼈的电脑是64位的win10系统。在经历了很多次失后才终于将代码编译跑通。真是⼀把⾟酸泪啊。下⾯就介绍下如何在64位win10系统中⽤cmd+notepad进⾏编译c++程序。
1)设置环境变量:我们知道,⼀般的C/C++程序开发经历三个过程:源代码的编辑——编译⽣成.obj⽂件——链接⽣成.exe⽂件。那么在这个过程中起到关键作⽤的就是编译器了,也就是我们要到c++的编译器。如果你已经安装好visual studio的话,那就直接在⽂件中就⾏。如果没有安装相应的安装包,那么我也会介绍另⼀种⽅法。先说已经安装VS的情况:到⽂件的安装⽬录底下,如E:\各种软件的安装⽬录\VS2015,具体要看你⾃⼰的软件安装⽬录。⽽且基本上所有的VS版本,⽬录的名称都是⼏乎⼀致的,所以不⽤担⼼安装的版本路径名称会不⼀致的问题。如果到的话,你应该能看到:
到VC这个⽂件夹,当然你还能看到VB,VC#等,这些⽂件夹⾥包含了相关的语⾔环境包等,不⽤管,直接到VC⾥的bin⽂件夹,然后将路径E:\各种软件的安装⽬录\VS2015\VC\bin加到系统的环境
变量中去。⾄于环境变量怎么弄的话,到我的电脑,右键属性,然后到⾼级系统设置->环境变量->系统变量->Path,新建⼀个,然后把路径添加进⾏就⾏。
这样做的⽬的,其实就是要让系统知道编译器在哪⾥,因为环境变量就是操作系统执⾏命令时的默认检索路径。有了这个环境变量的话,
我们的电脑就能在指定的⽂件夹⾥相应的⽂件。例如要寻a.exe,就直接在命令⾏中输⼊a.exe就⾏,不⽤再将绝对路径的全部写进去。如果你没有安装VS,那么你起码要有VC,如果你说你啥都没安装怎么办,那。。。。。那你还当啥程序员啊。。。。。。反正就
是默认已经安装了VC的情况下,到路径,如D:\Program Files\Microsoft Visual Studio\VC98\Bin,显然这也是我们需要的编译器的路径。编译程序除了需要编译器外,还需要提供系统库⽂件.lib,系统头⽂件。对应的路径在VC98⽂件夹中有相应的Lib和Include⽂件夹。下⾯也是要进⾏环境变量的设置,为了防⽌出问题,我们还需要到VC98同级路径下的Common⽂件夹⾥的MSDev98\Bin,看有没有mspdb60.dll⽂件,如果有的话就直接将其路径,如D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin和我们的D:\Program Files\Microsoft Visual Studio\VC98\Bin路径两个都加⼊到环境变量中。接着我们写⼀个批处理⽂件来导⼊相应的变量。写⼀个⽂本如下INCLUDE = D:\Program Files\Microsoft Visual Studio\VC98\Include
LIB = D:\Program Files\Microsoft Visual Studio\VC98\Lib
保存为Path.bat,然后运⾏就⾏。
通过上⾯的设置,我们在环境变量中加⼊了编译器的路径,为了测试下是否成功,可以在开始->cmd中输⼊cl,看看是否有类似的窗⼝显⽰
有的话就说明成功了。
2)编程程序调试
虽然环境变量设置不太⼀样,但是上⾯两种情况的结果是⼤致⼀样的,因此下⾯按着第⼀种情况,也就是有VS的编译器的配置的时候来进⾏测试。
打开notepad,写上代码如下:
#include <iostream>
批处理文件怎么做using namespace std;
int main()
{
cout<<"Hellow World"<<endl;
while (1){}
return 0;
}
在任意的⼀个盘⾥,如F盘保存为test.cpp。然后打开cmd,输⼊ vcvars32.bat。接着要转到我们的代码的保存路径下,如F:,这时直接这输⼊F:
显⽰如下:
然后输⼊cl /EHsc test.cpp会出现如下:
哈哈,看到/了有⽊有。直接打开我们的F盘根⽂件夹,看看有没有exe⽂件!运⾏下:
是不是很有成就感!
有⼏点可以稍微注意下:1、只有2009以后的版本,在命令⾏编译时才需要先执⾏“vcvars32.bat”,之前的版本就不需要了。
2、Visual Studio 2012以前的命令⾏编译参数⼀般⽤cl -GX xxx.cpp,2012以后建议⽤cl -EHsc xxx.cpp
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论