首先说明一下背景: 为什么要在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. 使用metrics统计接口tps

    metrics的简单介绍 metrics是一种性能指标工具,有很多开源工具使用之来来作为其性能监控,如Hadoop,Kafka,Spark,JStorm等. metrics使用最主要有三个东西: Me ...

  2. 关于contenteditable属性

    今天刷刷看看,看到了发说说框,发现居然不是textarea的,百思不得其解围.后来看到contenteditable,心想应该就是这个搞怪的吧,百度了下.w3c的解释是contenteditable属 ...

  3. 学习笔记-AngularJs(八)

    在使用form.FormController和ngModel.NgModelController之前,先来学习一下怎么一个ng-model-options指令,觉得怎么这个指令挺好用的,我们知道ng- ...

  4. 在Linux终端安装Julia

    官方参考文档:https://julialang.org/downloads/platform.html#generic-binaries 一.centos终端安装 打开Linux终端输入 sudo ...

  5. intelij idea常用功能介绍

    1.查看本地文件修改记录 保存本地修改记录: 可以将system下的LocalHistory保存,到另一个目录,需要的时候保存即可. 2.debbuger查看代码 1)优化设置 2)常用 3.条件断点 ...

  6. oracle数据库SQL入门

    1.oracle数据库的下载.安装.卸载 Oracle下载: Oracle下载链接地址:http://www.oracle.com/technetwork/cn/database/enterprise ...

  7. jar 包启动

    java -Xms256m -Xmx512m -Xmn256m -jar /home/apps/video/video.jar --spring.profiles.active=test #!/bin ...

  8. Centos7.5安装Docker

    Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程,这种运行时封装 ...

  9. ubuntu svn服务本地搭建使用

    安装 sudo apt-get install subversion 创建一个仓库 svnadmin create mysvn 编辑配置文件  /home/exayong/mysvn就是上面创建的目录 ...

  10. qssp2017 source

    ftp://ftp.gfz-potsdam.de/pub/home/turk/wang