首先说明一下背景: 为什么要在DOS界面编译C/C++源程序?有很多现成的开发环境(IDE)如:vs, vc++等,这些开发环境集成了编译,调试,使用起来很方便,而且图形化操作界面,简洁明了。但是在开发环境中编译程序,需要建立一个工程,当我只需要编译单个小的测试文件时,比喻 输出helloword!这样的单个小文件,在IDE中编译,仍然需要建立一个工程,这有点麻烦;所以在DOS界面中调用编译器来编译一个单独的C/C++文件,就显得很方便了;

如何在DOS界面中调用 编译器 来编译C/C++源程序?(这里以调用vs2012的编译器 cl.exe 来编译test.c文件为例)

第一种方法:手动设置环境变量 (添加系统变量,使系统能够找到编译器和相应的链接文件)

(注:编辑环境变量时,环境变量的路径最好不要直接复制文字来编辑,这样添加的路径往往无效,最好是新建变量后,点击“浏览目录”添加变量路径)

1,编辑系统变量PATH,在后面加入(每个变量后面要用;隔开)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin    (引入cl 编译器)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE (引入mspdb100.dll文件,如果不加这个路径到系统变量中,也可以直接将mspdb100.dll文件复制到上面那个路径的文件夹下)
 

2,新建环境变量

INCLUDE: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include (告诉系统include文件的位置)
 
3,新建环境变量
LIB:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib (告诉系统lib库文件的位置)
 
4,打开cmd窗口, 进入cpp文件目录,如:cd C:\users\dell\Desktop, 然后输入命令 cl test.c 运行,可能会提示如下错误:

“LINK:fatal error LNK 1104:cannot open file 'kernel32.lib“ ;

解决办法: kernel32.lib是Windows系统文件,此文件在文件夹C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib 中,将其复制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib 中;

5,再输入命令 cl test.c 运行,会提示生成 test.exe, test.obj 文件,然后输入test.exe 运行,就能输出结果了
 
第二种方法:运行批处理文件 .bat 代替手动设置环境变量 (这里就显示了批处理文件的作用了)
 
1,可以自己用记事本写一段简单的批处理文件.bat, 其内容就是设置环境变量,如下:
set path=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
set include=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
set lib=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
 
如果不会写,可以直接运行vs提供的批处理文件vcvarsall.bat (文件位置:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\目录下)
打开cmd窗口进入文件所在目录:cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC,然后输入文件名 vcvarsall.bat 运行;(每次关闭dos后,再打开,都要运行一次)
 

2,运行完  vcvarsall.bat 后,环境变量设置完成,再进入test.c 所在目录 cd C:\users\dell\Desktop, 然后输入命令 cl test.c 运行,会提示生成 test.exe, test.obj 文件,再输入test.exe 运行,就能输出结果了

 
 
 

如何在Windows命令行(DOS界面)中调用 编译器 来编译C/C++源程序的更多相关文章

  1. Windows命令行(DOS命令)教程 -1 (转载) http://www.pconline.com.cn/pcedu/rookie/basic/10111/15325.html

    一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS--Disk Operation System 磁盘 ...

  2. Windows命令行(DOS命令)教程

    一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS——Disk Operation System 磁盘 ...

  3. Windows命令行(DOS命令)教程–2 (转载) http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_1.html

    二.符号约定 为了便于说明格式,这里我们使用了一些符号约定,它们是通用的: C: 盘符 Path 路径 Filename 文件名 .ext 扩展名 Filespec 文件标识符 [ ] 方括号中的项目 ...

  4. Windows命令行(DOS命令)教程-8 (转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_7.html

    15. pass [功能] 设定DOS寻找.COM..EXE..BAT文件的所在目录 [格式] path=[[drive:]path[;-]]或path [说明] 只打path没有参数时,只显示环境变 ...

  5. Windows命令行(DOS命令)教程-7 (转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_6.html

    11. deltree [功能] 删除目录树 [格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]] [说明] 这个命令将整个指定目录树全部消灭, ...

  6. Windows命令行(DOS命令)教程-3(转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_2.html

    五.常用命令 DOS命令总共大约有一百个(包括文本编辑.查杀病毒.配置文件.批处理等),我们这里详细介绍二十个常用的DOS命令. 先介绍一下通配符的概念. 通配符*和? *表示一个字符串 ?只代表一个 ...

  7. Windows命令行(DOS命令)教程-5 (转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_4.html

    5. copy copy在英文中是复制的意思 [功能] 复制一个或一组文件到指定的磁盘或目录中 [格式] copy [C:][path][filename.ext] [C:][path]filenam ...

  8. Windows命令行(DOS命令)教程-6 (转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_5.html

    8. type [功能] 在屏幕上显示文本文件内容命令 [格式] type [C:][path]filename.ext [说明] type命令用来在屏幕上快速.简便地显示文本文件的内容,扩展名为TX ...

  9. Windows命令行(DOS命令)教程-4(转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_3.html

    2. md md是英文make directory(创建目录)的缩写 [功能] 创建一个子目录 [格式] md [C:]path [举例] 用md 建立一个叫做purple的目录 3. cd cd是英 ...

随机推荐

  1. mac 安装工具列表

    1,jdk idea datagrip 2,maven download 3.1idea config maven 3.2 down load myql connector  & datagr ...

  2. C# Log4Net 日志

    C#使用Log4Net记录日志 第一步:下载Log4Net            下载地址:http://logging.apache.org/log4net/download_log4net.cgi ...

  3. JavaScript的DOM对象

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过 ...

  4. Mac OS 下安装nvm

    关于安装: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh 安装完成后关闭终端,重新打开终端输 ...

  5. 安装tifffile

    python的opencv和PIL不能很好地处理tiff图像,所以我就转用tifffile 但是tifffile也装了很近,因为我是远控别人的电脑,所以看不太清报错,就自己瞎猜,不过还是装好了 首先去 ...

  6. 【转】ASP.NET Core开发之HttpContext

    ASP.NET Core中的HttpContext开发,在ASP.NET开发中我们总是会经常用到HttpContext. 那么在ASP.NET Core中要如何使用HttpContext呢,下面就来具 ...

  7. Win10系列:C#应用控件基础15

    ProgressRing控件 上一小节讲解了ProgressBar控件的使用方法,ProgressRing控件和ProgressBar控件都是用来显示应用程序当前任务的运行进度信息,区别在于Progr ...

  8. jQueryValidate的表单提交ajax刷新代码

    $("#form-member-add").validate({ rules:{ username:{ required:true, minlength:2, maxlength: ...

  9. 【转】python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)

    二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...

  10. 调用 LoadLibraryEx 失败,在 ISAPI 筛选器 "C:\Program Files\php\php5isapi.dll"

    把 ISAPI 筛选器这里的php配置删掉,php改用fastcgi配置