在搭建开发环境之前,首先要明确几个概念:
1. 什么是windows SDK
2. C/C++/Asm 这些开发语言与winSDK的关系
3. 从源文件到exe文件要经历的编译,链接
只有明白了以上几个概念,才能够更好的理解开发环境搭建过程中各个软件的作用,从而达到驾驭工具,使用工具的目的。
**什么是Windows SDK**
:是 windows software development kits 的简称,中文意思:windows系统软件开发包,这个软件开发包中提供了开发exe文件的各种C语言头文件和库文件,有了这些文件,我们开发exe的时候就能够调用windows系统的函数,实现系统功能。
在做java开发的时候有JDK,在做安卓开发的时候有android SDK,这些SDK的主要作用就是给我提供系统的函数接口,方便我们调用系统的功能。
**C/C++/Asm 这些开发语言与winSDK的关系**
windows系统基本是用C语言编写,所以winSDK提供的都是C语言的头文件。这有点类似于Android是用java构建的,所以安卓的SDK提供的都是jar包一样。
winSDK只是给开发者提供了系统功能的函数调用,而在程序中处理业务逻辑的部分,就需要开发者依据自身的情况,来灵活选取合适开发的语言,所以大可以使用C/C++/ASM来开发exe程序。
但是要知道:winSDK只提供了c语言的头文件。所以,如果要使用ASM来开发windows程序,就需要自己把winSDK中的头文件改成 符合ASM开发规范的头文件。
**从源文件到exe文件要经历的编译,链接**
编写好的.C /.cpp /.asm 文件要经过 编译器编译成目标文件, 在编译的过程中,编译器会按照头文件中定义的函数原型来检查源文件中各处的函数引用是否正确,如果不正确就会报相应的编译错误。这也是头文件的重要作用之一
编译好的目标文件经过链接,可生成exe文件,在链接的过程中,连接器会将引用的库文件的代码,加入到目标文件中,最终形成了exe文件。