返回介绍

命令行编译 C/C++程序

发布于 2025-02-16 22:59:31 字数 1958 浏览 0 评论 0 收藏 0

VS 构建工具介绍

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

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

C:\Program Files (x86)\Microsoft Visual Studio 10.0

cl.exe:编译程序 link.exe:链接程序 lib.exe:加载 lib 库的程序 nmake.exe:用 makefile 进行构建、编译的工具

命令行编译程序

要在命令行(而不是 VS ) 中编译程序,先要配制环境变量。网上有些教程说执行 VSDIR\VC\bin\vcvars32.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:\Users\Administrator.dnx\bin;%VS2010_DIR%\VC\bin;%VS2010_DIR%\Common7\IDE
  • include: %VS2010_DIR%\VC\include;%WIN_SDK%Windows\v7.0A\Include;
  • lib: %VS2010_DIR%\VC\lib;%WIN_SDK%\Windows\v7.0A\Lib;

测试

D:\CppWorkspace\CommandTest\HelloWorld.cpp ​:

#include <iostream>
#include <stdio.h>

int main()
{
  std::cout << "This is a native C++ program." << std::endl;
  printf("printf: Hello World");
  return 0;
}

编译结果:

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

HelloWorld.obj 就是编译出的二进制文件,HelloWorld.exe 就是链接成的可执行文件。

说明

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

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

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文