如何在Windows下编译连接C程序

Linux下的编译可谓是很简单了,系统自带的gcc直接提供了编译环境。今天想着使用DOS直接编译连接C程序,不用再繁琐地打开VC或者VS。整体配置过程还算简单。

1.添加环境变量。由于我们要使用到Microsoft的C/C++编译器CL.exe,所以需要添加环境变量PATH。我的添加目录为D:\vc++6.0\Microsoft Visual Studio\VC98\Bin

2.此时打开面板执行一下VCVARS32.BAT,可以看到Setting environment for using Microsoft Visual C++ tools.表示设置成功

3.另外还需要添加mspdb60.dll文件至原来PATH中的......\Microsoft Visual Studio\VC98\Bin目录下,这个文件网上下载就好。mspdb60.dll是Microsoft Visual Studio编程数据库支持相关文件。

4.此时编译会出现找不到include文件的情况,如stdio.h: no include path set。添加INCLUDE环境变量......\Microsoft Visual Studio\VC98\include。在这里要说说其原因:首先应该明白include的原理,#include 是一个来自C语言的宏命令,它在编译器进行编译之前,即在预编译的时候就会起作用。#include的作用是把包含文件的内容完全拷贝到当前的文件中来。如果头文件名在<>中,就会被认为是标准头文件。编译器会在预定义的位置cl.exe上层目录的中Include目录)查找该头文件,如果是""就认为它是非系统头文件,非系统文件查找通常开始于源文件所在路径。CL.exe不仅仅提供编译功能,还可以控制连接器LINK.exe。两者在执行时需要为其提供环境变量:

如何在Windows下编译连接C程序_第1张图片

(摘自点击打开链接


在IDE中使用编译器时为其提供了指定的INCLUDE环境变量,如下所示:

如何在Windows下编译连接C程序_第2张图片

微软是不推荐在系统命令行中编译程序的,可能是因为缺少相应的环境。因此我们此时需要自己为其设置相应的环境变量,也就是INCLUDE。


5.同理需要完成LIB环境变量的设置。添加LIB环境变量......\Microsoft Visual Studio\VC98\lib。

6.直接编译程序就可以啦,如果不需要连接,添加/C选项即可。

如何在Windows下编译连接C程序_第3张图片

你可能感兴趣的:(其他)