用Windows命令行编译自己的c或者cpp以及一些操作
本文为大大维原创,最早于博客园发表,转载请注明出处!!!
1.网上有大把的这个问题的教程,总结下来,大同小异。尽管不同的vs(vc)版本一些细节处有不同,以vs2010为例,分以下几步:
1.将vs 2010的/vc/bin加入到path中
2.cmd启动
3.vcvars32.bat设置环境为使用vs2010 X86工具
4.cl /Ehsc XXXX.cpp编译(直接cl亦可)
5.直接调用XXXX.exe运行即可
网上教程一大堆,但我在操作时遇到了几个有意思的问题:
1.刚开始我用vs2015,但在vs2015的/vc/bin中没有cl.exe程序,所以上述方法不适用。我自己鼓捣了老半天也没找到解决的方法,最后放弃vs2015,使用了vs2010。
2.在操作过程中,出现一个有趣的错误:在cmd中键入cl编译(或lib)时会出现mspdb100.dll无法找到的情况。原来这是因为VC\Bin\下没有mspdb100.dll“这个文件,直接从Common7\IDE\下复制这个文件到VC\Bin\下即可。
2.如何观察main返回的错误标识
Windows 7操作系统并不处理或报告程序返回的错误标识,直观上,返回-1的程序和返回0的程序在执行效果上并无不同。要想查看,一个可行的方法是在控制台窗口执行完程序后紧接着一个echo %ERRORLEVEL%命令。(ERRORLEVEL记录了上一个程序的返回值)
3.cerr、cout、clog的区别
1.cout输出的信息可以重定向,而cerr只能输出到标准输出(显示器)上。
2.cerr不经过缓冲区,直接向显示器输出信息,而cout和clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出。
3.cerr和clog均关联到标准错误,但cerr通常写入到与标准输出相同的设备,clog通常写入到一个日志文件中。
4.cerr通常用于输出错误信息或其他不属于正常逻辑的输出内容,clog通常用于报告程序的执行信息。
4.文件结束符
windows中的文件结束符是Ctrl+Z,unix中的是Ctrl+D,然后按Enter或Return。
用Windows命令行编译自己的c或者cpp以及一些操作的更多相关文章
- Windows命令行参数的知识(一)
最近没事的时候,准备研究一下Windows命令行参数的知识,因为每次自己在操作电脑时总是效率太慢,如果能够了解Windows参数的一些知识,绝对能提高效率! 基本外部命令和内部命令 首先是基本的知识, ...
- 探索Windows命令行系列(7):通过命令编译C#类和Java类
1.编译 C# 类 1.1.C# 编译工具 1.2.编译一个 C# 类 1.3.编译多个 C# 类 2.编译 Java 类 2.1.Java 编译工具 2.2.编译 Java 类 3.组合命令符 4. ...
- 在Windows命令行中编译运行C/C++程序
此处运行环境是在Windos下,运行cmd命令进入DOS界面 现在有一段简单C++代码(文件名为 demo.cpp),用于计算a*b的值 #include<iostream> using ...
- Windows下搭建Android NDK开发环境及命令行编译
首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...
- windows命令行中java和javac、javap使用详解(java编译命令)
如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行.进入如图所示的画面: 可知,当前默认目录为C盘Users文件夹下的Administrator文件夹.一般而 ...
- windows下使用命令行编译、链接C++源文件
目录 1.流程 2.操作 1.流程 .cpp-->.o-->.exe 分别为 源文件-->中间目标文件-->可执行文件 两个-->的过程分别为编译.链接 p.s.多个 . ...
- 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)
windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15 作者: 我要评论 http://www.jb51.ne ...
- Windows下使用命令行编译Qt项目(解决DLL丢失问题)
一.前言 我之前用Qt做了个hello world,结果各种报错,一大堆DLL找不到,今天用命令行编译就通过了 二.准备工作 1.Visual Studio(有nmake就行) 2.Qt 3.把qma ...
- 基于命令行编译打包phonegap for android应用 分类: Android Phonegap 2015-05-10 10:33 73人阅读 评论(0) 收藏
也许你习惯了使用Eclipse编译和打包Android应用.不过,对于使用html5+js开发的phonegap应用,本文建议你抛弃Eclipse,改为使用命令行模式,绝对的快速和方便. 一直以来,E ...
随机推荐
- vue使用桌面Element-UI和移动端MintUI的UI框架
vue使用桌面Element-UI和移动端MintUI的UI框架 element-uiElement - 网站快速成型工具http://element-cn.eleme.io/#/zh-CN 安装:n ...
- java之接口文档规范
一.xxxxxx获取指定任务爬取的所有url的接口 接口名称:xxxxxx获取指定任务爬取的所有url的接口 访问链接: http://IP:PORT/crwalTask/findUrlExcepti ...
- nginx配置优化 第二章
一:常用功能优化: 1:网络连接的优化: 只能在events模块设置,用于防止在同一一个时刻只有一个请求的情况下,出现多个睡眠进程会被唤醒但只能有一个进程可获得请求的尴尬,如果不优化,在多进程的ngi ...
- 01:open-falcon入门篇
open-falcon其他篇 目录: 1.1 openfalcon介绍 1.2 open-falcon架构 1.1 openfalcon介绍返回顶部 openfalcon官网: https://b ...
- 最短路径之Bellman-Ford算法的队列优化及邻接表
参考链接:https://blog.csdn.net/qq_40626497/article/details/81139344
- 清除wnTKYg 这个挖矿工木马的过程讲述
由于工作需要,我由一个专业java开发工程师,渐渐的也成为了不专业的资深的运维工程师了.感慨一番,书归正传,下面就讲解wnTKYg如何清除.最近项目在做性能测试,发现CPU使用率异常,无人访问时CPU ...
- #分组背包 Educational Codeforces Round 39 (Rated for Div. 2) D. Timetable
2018-03-11 http://codeforces.com/contest/946/problem/D D. Timetable time limit per test 2 seconds me ...
- MapReduce编程:单词去重
编程实现单词去重要用到NullWritable类型. NullWritable: NullWritable 是一种特殊的Writable 类型,由于它的序列化是零长度的,所以没有字节被写入流或从流中读 ...
- C#设置IE代理
public class IEProxySetting { public static bool UnsetProxy() { return SetProxy(null, null); } publi ...
- DAY11 函数(二)
一.函数的对象 1.1定义:函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象 1.2函数对象的应用 1 可以直接被引用 fn = cp_fn def fn(): ...