使用Visual Studio的cl.exe 在控制台中编译运行C/C++

笔者有时在写C/C++程序的时候,总是觉得使用VS繁琐(主要是在学校机房写代码,VS打不开)。我想了想何不通过VS的C程序编译器在CMD中直接编译运行C程序?下面会介绍详细操作,为了方便多次运行编译可把命令写到批处理文件中。

首先需要先找到VS的安装路径,例如VS在我们学校机房的安装路径为“C:\Program Files\Microsoft Visual Studio 12.0”,打开这个文件夹后会看到名为VC的文件夹,VC\bin文件夹中有我们要使用的cl.exe,即VS的C/C++编译器,并且其中的lib文件夹有编译时所需链接的库文件。

当使用VS编译C程序的时候,VS会首先调用VC\bin文件夹中的vcvars32.bat批处理文件,该文件会在编译前设置所需的环境变量。

我们在这里所作的工作其实也同vcvars32一样,设置我们使用cl编译C文件所需的环境变量。因为VS已经用vcvars32帮我们做好了环境变量设置的工作,这里我们只用在cmd或者bat中调用该批处理文件后使用cl编译即可。

在需要编译的C/C++文件同目录下新建文本文件,重命名后缀为“***.bat”,编辑该文件,输入以下命令:

:: cl build path
@echo off
::该行可加可不加,之后会详细解释
@set LIB=C:\Program Files\Microsoft SDKs\Windows\v7.1A\Lib 
::调用vs安装路径下VC文件夹bin中的vcvars32.bat
@call C:\"Program Files"\"Microsoft Visual Studio 12.0"\VC\bin\vcvars32
::创建一个变量储存想要编译的文件名
@set TAR_PATH=Mar_Shell
::环境变量设置成功后,调用cl编译该文件
@call C:\"Program Files"\"Microsoft Visual Studio 12.0"\VC\bin\cl %TAR_PATH%.c
@del %TAR_PATH%.obj
::换行分割显示内容
@echo.
@echo %TAR_NAME%.exe^>^>
::运行编译好的程序
%TAR_NAME%
pause>nul

第六行和第七行时使用call命令调用VS安装目录中VC\bin\中的vcvars32和cl,具体路径根据实际电脑安装VS的位置更改。第十一行我调用了删除命令删除了编译后生成的.obj文件,主要是文件多了以后显得很凌乱,所以每次编译成功后删除.obj,如果想要保留obj文件则去掉这行即可。

注意:第一次我仅调用了vcvars32.bat后直接编译C文件出现了无法找到kernel32.dll报错,原因是环境变量LIB中并没有C:\Program Files\Microsoft SDKs\Windows\v7.1A\Lib 路径,因此我在批处理中把该路径添加进LIB变量中。如果你的电脑中环境变量已经包含该路径则无需添加第四行命令。查看已创建的环境变量可打开“我的电脑”右击鼠标进入“属性”,左侧找到“高级系统设置”,点开后在右下角打开”环境变量“查看。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值