因为曾经在UNIX和Linux上工作过,也使用过GCC来编译过软件,记忆中在UNIX系列上开发是比较麻烦的,现在不知道情况怎么样了?那时候UNIX上是没有是没有类似于VC这样的图形界面的开发环境的,要想对要开发的软件进行编译,必须使用MAKEFILE来实现。
使用VC语言以后,人变得懒了,也不用在使用MAKEFILE来编译项目了.但实际上MAKE FILE在某些情况下还会憋使用的,至于在什么条件下使用,这也和开发者要实现的内容有关系.
那么什么是MAKE FILE呢?写程序的人都会知道,软件实现的过程基本上有三步,即编辑,编译,连接.
编辑也就是写源代码的过程,而编译就是把你的源代码的文件编程你的计算机可以识别的二进制文件的过程,连接就是把你的多个源文件生成的二进制文件连接成可执行的.exe文件的过程.而这些过程,在类似与VC的开发环境中,是可以使用相同的工具完成所有的过程的.
在古老的C语言中,实现编辑,编译,连接是比较麻烦的.
首先来说,要想实现编辑,你必须使用类似于UNIX中的vi之类的文本编辑器来实现,也就是相对于DOS中的EDIT.EXE或者是Windows中的NotePad.exe之类的软件.其次,在Windows下,接下来,你要使用cl.exe把你的.c或者.cpp文件编译成.o文件.最后就是使用link.exe把你的.o文件连接称.exe文件.而在VC中还存在类似于.rc的资源文件,那么你需要把.rc文件通过rc.exe文件编译称.res资源文件.最后使用link.exe把.o,.res文件连接成.exe文件.其实这些步骤在VC的开发环境中也是很近似的,只是你看不见而已.
那么要想人工来做编译VC的Project怎样来实现呢?
首先,你用VC编辑好你的项目.接下来,使用下面的步骤,就可以把你的项目存成.mak文件.其操作过程在MSDN中可以查到:
To export an NMAKE makefile whenever you save a project
From the Tools menu, click Options.
-
The Options dialog box appears.
- On the Options dialog box, click the Build tab.
- Select the Always export makefile when saving project option.
- Click OK.
To export an NMAKE makefile for a particular project
- Open the project.
- From the Project menu, click Export Makefile.
A .MAK file with the project name is immediately created and saved to the project directory.
上面的这段英文应该不算难吧?如果看不懂,就不要学软件了.这样你在你的Project的目录中就可以看到一个.mak文件.用文本是可以打开这个文件的,里面是一个脚本代码,其语法也可以在MSDN中查到,其路径大概如下:
MSDN Library Visual Studio 6.0-->Visual C++ Documentation-->Using Visual C++-->Visual C++ User's Guide-->Working with Projects-->Overview: NMAKE Refernce....
我在网上查了一下,介绍起语法的文章很少,还是和很多国内的玩家一样,说不清道不名还要冒充专家,相互抄袭.不过.mak的语法也不是很好懂,特别文档是英文的,看起来比较麻烦.
接下来,就是编译这个.mak文件.我们可以运行VC下的:C:/Program Files/Microsoft Visual Studio/VC98/Bin/nmake.exe文件,如果不懂NMAKE.EXE的用法,可以运行nmake /?,就可以看到nmake的用法,把你生产的.mak作为nmake的参数,就可以编译你的VC的项目形成.exe文件了.
不过在你运行类似"C:/Program Files/Microsoft Visual Studio/VC98/Bin/nmake.exe" /f "Ex.mak"之前,你要设置一下环境变量,也就是运行一下VC目录下的VCVARS32.BAT文件.
VCVARS32.EXE和NMAKE.EXE文件都要在DOS窗口下执行.这样运行之后你就可以看到原本使用VC编译的DEBUG,RELEASE目录下形成了你手工编译的.exe文件.