必威体育Betway必威体育官网
当前位置:首页 > IT技术

一步步通过命令行cl.exe编译Windows程序

时间:2019-09-28 17:14:26来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

cl.exe

windows系统下有强大的IDE工具VS,VC6.0等,隐藏了很多编译和链接的细节。事实上,VS是通过调用cl.exe进行源代码编译。接着调用link.exe进行目标文件的链接等操作。

有时候,如果出现编译或者链接错误,我们也可以通过命令行工具,调用这些编译和链接程序,不仅能够更好的理解和分析程序的运行机制,也便于解决本质问题。

在我本机上(win7 X64系统),这些可执行文件在 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin 目录下。

通过 运行--> cmd --> cd C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin 进行到该目录下。执行 cl.exe 命令(执行过程可能需要从网络下载mspdb80..DLL文件,也可以执行 cl.exe /? 来查看该命令的具体参数和用法),效果如下:

 

 

我在该bin目录下,创建一个src目录,用于测试编译。在src目录下编写一个简单main.c文件,只包含<stdio.h>。

#include <stdio.h>

int main(int argc,char* argv[])
{
	printf("This is a test program\r\n");
	
	return 0;
}

执行编译如下:

 

  报错了。不像VS 2008等IDE有默认的头文件搜索路径,我们这里需要明确指明搜索头文件的路径,不然就想上图一样会提示找不到相关的头文件,通过/I 增加引用路径,再次执行编译如下:

编译成功,链接报错。提示找不到库,使用 /link 增加相关的库,接着执行编译如下:

 

  

  OK,编译结束,生成了测试的main.exe文件。见 /out:main.exe,如有必要,这个exe输出名称也可以我们指定。

相关阅读

MMC.EXE 无法进入的解决方法

图1所示,电脑出现这样的画面。设备管理器无法进入,策略组(gpedit.msc)无法打开。 尝试方法1,结果:失败    尝试方法二,结果失败  解

Class类简介

1、Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。

U盘(电脑)文件夹变成exe(应用程序)怎么解决

出现这类问题,是因为用户 U 盘中了Autorun 病毒,且被用户无意间激活了才出现的情况,这种病毒就是如果你点开,它就会迅速扩散,导致所

Windows Server 2008 R2 官方简体中文免费企业版/标准

Windows Server 2008 R2是一款微软发布的Windows服务器操作系统,和之前发布的Windows Server 2008相比功能更为完善运行更为稳定,提

Oracle 11g安装及配置详解

Oracle 11g安装及配置详解1、将准备好的两个压缩包,解压到同一个目录下(图中所示,将他们解压到database文件夹下)2、双击打开setup.

分享到:

栏目导航

推荐阅读

热门阅读