用户登录
用户注册

分享至

带你玩转Visual Studio——命令行编译C/C++程序

  • 作者: 寡妇村村长_
  • 来源: 51数据库
  • 2021-08-21

vs构建工具介绍

我们都知道c/c++源代码要生成可执行的.exe程序,需要经过编译、链接的过程。你在vs工具中只需要选择菜单build或按一下f5可以编译、链接、运行了,其实ide帮我隐藏了好多的具体细节。

我先假设vs2010安装在以下目录中:

c:program files (x86)microsoft visual studio 10.0

打开安装目录下的vsdirvcin可以看到一系列的可执行程序.exe和批处理文件,这些就是vs2010构建、编译、链接时要用到的工具。看一下几个主要的工具:
cl.exe:编译程序
link.exe:链接程序
lib.exe:加载lib库的程序
nmake.exe:用makefile进行构建、编译的工具



命令行编译程序

要在命令行(而不是vs)中编译程序,先要配制环境变量。网上有些教程说执行vsdirvcin000bcvars32.bat的批处理就可以了,但我执行这个批处理时会报错:

setting environment for using microsoft visual studio 2010 x86 tools.

这又是另外一个问题,我就不管了,直接手动配制环境变量把:
右键我的计算机->属性->高级设置->高级->环境变量,配制的环境变量(建议配制在用户的环境变量中)的值如下:
vs2010_dir:
c:program files (x86)microsoft visual studio 10.0
win_sdk:
c:program files (x86)microsoft sdks
path:
c:usersadministrator.dnxin;%vs2010_dir%vcin;%vs2010_dir%common7ide
include:
%vs2010_dir%vcinclude;%win_sdk%windows000b7.0ainclude;
lib:
%vs2010_dir%vclib;%win_sdk%windows000b7.0alib;


测试

d:cppworkspacecommandtesthelloworld.cpp:

#include 
#include 

int main()
{
    std::cout << this is a native c++ program. << std::endl;
    printf(printf: hello world);
    return 0;
}

编译结果:


命令行中编译c/c++程序

 <001a喎? f/ware/vc/"="" target="_blank" class="keylink">vcd4ncjxwpkhlbgxvv29ybgqub2jqvs3kx7hg0uuz9rxetv69+nbgzss8/qossgvsbg9xb3jszc5legw+zcrhwbs907pjtcs/yda00ndoxlz+oam8l3a+dqo8ahiglz4ncjxomibpzd0="说明">说明

在以上的编译过程中我们只用了cl的编译命令就帮我们最终的可执行文件helloworld.exe,这是因为cl.exe程序在编译时自己会去调用link.exe、lib.exe等程序。

可通过”cl -help “查看常用的编译选项

选项 作用
/o1 创建小代码
/o2 创建快速代码
/oa 假设没有别名
/ob 控制内联展开
/od 禁用优化
/og 使用全局优化
/oi 生成内部函数

 

软件
前端设计
程序设计
Java相关