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

       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输出名称也可以我们指定。
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值