一直习惯使用VS建立工程 但最近写了一些很小的程序 编辑使用的是 Notepad++ 打开编译器觉得很麻烦 想到在 Linux 下可以直接使用 gcc 命令来编译程序 所以想要试一试在 Windows 系统下可否实现控制台编译 C 程序
问题很简单 流程就是编写源代码 .cpp——编译生成目标文件 .obj——链接生成可执行文件 .exe
首先来说下使用的命令 是cl(是英文字母 l 而不是阿拉伯数字的 1 ) 如源代码为 source.cpp 需要在命令行下进入当前文件所在路径 然后敲 cl source.cpp 即可 会自动进行编译链接 结果是在同目录下生成一个 source.exe 文件
Win + R 打开控制台 如图 没有经过环境配置敲 cl 命令系统会提示出错:
要做的事只有一件 就是对环境变量进行配置 动手配置过Java的朋友应该很熟悉这个过程 不过我的VC不完整 遇到了不少麻烦 所以写了这样一个博客出来 希望能给有和我一样困惑的人带来一点帮助
我们需要的路径有两个 头文件包含的目录和 lib 文件存放的目录
头文件是放在编译器的文件夹下的 自己有安装编译器的话 进入软件所在目录 找到 bin 文件夹 没有安装编译器的可以使用微软自带的VS环境 这个在你的系统盘 Program Files\Microsoft Visual Studio 12.0 目录下(12.0是我的版本 根据电脑的不同可能不同)
lib 文件是配置文件 它存放在系统盘*86目录下的SDKs目录 进入子文件夹Windows后会发现其中有很多个文件夹 而我们需要的是仅仅包含Bin Include Lib这些文件夹的那一个(我的是放在7.1A中的) 比如你可能会遇到的错误:
C++编译报错 LINK:fatal error LNK 1104:无法打开文件 *.lib 这可能是你没有引入正确的 lib 路径造成的 如图 大部分的都可以在相应的 lib 目录下找到:
比如我用的是VS 2013 安装在电脑G盘中 那么我的路径就是
G:\APP\VS
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A
右击我的电脑(文件资源管理器)——属性——高级系统设置——环境变量 在系统变量一栏(不是用户变量)中找到LIB INCLUDE Path 三个变量 如果没有则自己新建
下面是需要在其中添加的路径:
(LIB)C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib; G:\APP\VS\VC\lib;
(INCLUDE)G:\APP\VS\VC\include;
(Path)G:\APP\VS\VC\bin;G:\APP\VS\VC\include;G:\APP\VS\VC\lib;
配置完成后的效果如图所示 实例程序是放在 G:Test 这个文件夹下的 1.cpp 文件 使用 cl 命令生成目标文件:
上图是系统为我们自动生成 .obj 和 .exe 文件 根据提示 我们直接键入程序名称 1.exe 来执行程序即可
itertools.permutations(a, b) 连续返回由a元素生成的长度为b的全排列组合。例子如下:import itertoolssum = 0a=[1, 2, 3, 4, 5]for i in itertools.permutations(a,2): print(i) sum += 1print(sum)b = list(itertools.permutations(a, 2))print(b)print(len(b))输出结果:(1, 2)(
我们写一个数据库表时一般都是单用户的。这个问题不大会发现。假如 Trans结构如下 * TicID TicBH TicDate我们调用ProcAddTicIDNew TicID = PPrcAddTicID.upd() .... EndNewPPrcAd
Step1 删除原有的ipmi工具(如有)yum remove ipmitoolyum remove OpenIPMIStep2 上传ipmitool-1.8.14-99.dell.3379.14516.el7.x86_64.rpm “可在DELL 官网找到DellEMC-iDRACTools“Step3rpm -ivh ipmitool-1.8.14-99.dell.3379.14516.el7.x86_64.rpm一切顺利的话执行:ipmitoo...
一、前言之前一篇文章已经详细介绍了:微信小程序包的格式解析,在之前文章中也了解到小程序包存放在沙盒目录,但是微信为了让小程序包安全就对文件名做了一个处理,导致我们很难找到...
[Fixed] N: Repository ‘http://security.debian.org buster/updates InRelease’ changed its ‘Version’ value from ” to ’10’ – VITUXhttps://www.reddit.com/r/debian/comments/ca3se6/for_people_who_gets_this_error_inrelease_changed/shell - Repository 'http://sec
求职道路漫长又艰苦,投了无数封简历,也参加过不少面试,可为何总是沦落到无限期的“等通知”中呢?到底怎样的求职者才是HR所钟意的?前程无忧论坛(bbs.51job.com)通过对HR的采访和调查,为你罗列出他们认为最容易被淘汰的5类人,希望你不要成为其中之一。 “低估”面试官 淘汰星级:★★★★★ “什么?怎么就找这样的‘小P孩’来面试我?看她那乳臭未干的
如何快速有效的创建一个公钥:简单说一下公钥的作用: Git使用https协议,每次pull, push都要输入密码,所以每次输入都很麻烦;使用git协议,然后使用ssh密钥。这样可以省去每次都输密码,是大部分程序员的最佳选择。公钥我们一般是给服务器的,他们到时候在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone 某些代码的时候,那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败. 大多数 Git服务器都会选择使用 SS
随着端侧算力日益增长,以及模型小型化方案日趋成熟,使得高精度的深度学习模型在移动端、嵌入式等终端设备上流畅运行成为可能。然而将深度学习融合到终端设备上依旧面临平衡复杂神经网络结构的精度和...
1001.二分查找时限:1000ms 内存限制:10000K 总时限:3000ms描述给定一个单调递增的整数序列,问某个整数是否在序列中。输入第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行一个整数k。输出每个查询的输出占一行,如果k在序列中,输出Yes,否则输出No。输入样例51 3 4 7 113369输出样例YesNoNo#include <iostr
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------GUI:Graphical User Interfac...
最近由于刚练手消息中间件,就拿了一个activeMQ试试,在练习的过程中遇到了比较明显的问题:就是主题模型下的消息队列,持久化订阅者的实现。具体表象就是,我的接收者重启后接收不到发送者已发送而未消费的消息,非得接收者先启动好,然后发送者推送消息,才可以接收到。这不是我想要的,实际是要求接收者重启后能主动拉取发送者已发送而未消费的消息。另外进入Messages Dequeued的消息无法再次...
今天做了老师给的题目有几道题很有意思。代码代码题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.void quanzi(int *pa,int n){ int i,b=0,c; c=n; for(i=0;i&lt;n;i++) { pa[i]=i+1; } for(i=0;;i++) { if...