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 命令,效果如下:
在该bin目录下,编写一个简单main.c文件,只包含<stdio.h>。执行编译如下:
提示找不到相关的头文件,通过/I 增加引用路径,执行编译如下:
至此,编译结果,成功生成了简单的main.exe文件。
事实上,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 命令,效果如下:
在该bin目录下,编写一个简单main.c文件,只包含<stdio.h>。执行编译如下:
提示找不到相关的头文件,通过/I 增加引用路径,执行编译如下:
提示找不到库,通过/link 增加相关的库,执行编译如下:
至此,编译结果,成功生成了简单的main.exe文件。