14 编译与链接过程以及MFC静态/动态链接库的调用

0 引言

在Windows操作系统中,几乎所有的内容都是以DLL的形式存在的。例如显示的字体和图标存储在GDI.DLL中;显示Windows桌面、处理用户输入所需要的代码呗存储在User.DLL中;Windows编程所需要的大量API函数存储在Kernel.DLL中。

1 编译链接

程序从源代码编程可执行文件包括了编译和链接两大步。其中,编译包含预处理,编译,汇编,生成二进制可重定位文件等步骤。链接包含三步,下面将详细介绍。

(1)预处理:把诸如 #include  、 #define   、 #if - #ifdef - #ifndef- #else - #elif -#endif (条件编译)等进行预处理,得到完整的原始代码。

(2)编译:对代码进行语法词法分析,必要的时候报错,提醒用户修改,得到目标代码,由机器代码或者接近于机器语言的代码组成,.obj 文件

(3)汇编:汇编语言转换成我们的计算机可以执行的二进制可重定位文件。重定位的含义是给目标代码(.obj文件)中的函数名,变量名等符号分配争取的地址等,使得计算机能够正确执行。

应用程序在编译链接至运行的过程中,首先以源代码(.h和.cpp文件)作为输入,翻译产生目标语言(.obj)机器程序等,要从目标代码(.obj)

1 静态链接库

猜你喜欢

转载自www.cnblogs.com/ghjnwk/p/10073809.html
今日推荐