欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-01-15 17:34:10
vs构建工具介绍 我们都知道c/c++源代码要生成可执行的.exe程序,需要经过编译、链接的过程。你在vs工具中只需要选择菜单build或按一下f5可以编译、链接、运行了,其实ide帮我隐藏了好多的...

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)中编译程序,先要配制环境变量。网上有些教程说执行vsdirvcincvars32.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%windows7.0ainclude;
lib:
%vs2010_dir%vclib;%win_sdk%windows7.0alib;


测试

d:cppworkspacecommandtesthelloworld.cpp:

#include 
#include 

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

编译结果:

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

 喎? 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 生成内部函数

 

喎?>