8.6 DLL文件及导入库

Windows以函数形式为应用提供功能,这些函数称为API,如Sample1.c中调用的MessageBox()是Windows提供的API,而非C语言标准函数,用于显示消息框。
Windows中API的目标文件存储在DLL(Dynamic Link Library,动态链接库)文件这一特殊库文件中,DLL文件在程序运行时动态结合。例如import32.lib是导入库,仅存储MessageBox()在user32.dll中及DLL文件夹信息,无目标文件实体。
存储目标文件实体并直接与EXE文件结合的库文件是静态链接库,如存储sprintf()目标文件的cw32.lib 。
结合导入库文件,执行时从DLL文件中调出MessageBox()函数的信息会与EXE文件结合,使链接器链接时无错误消息,可顺利生成EXE文件。
总结Windows中的编译及链接机制:程序员编写源文件Sample1.c,经编译生成目标文件Sample1.obj,再与启动用的c0w32.obj结合,同时从静态链接库cw32.lib抽出sprintf()目标文件、从导入库import32.lib和动态链接库user32.dll中获取相关信息,通过静态和动态链接生成可执行文件Sample1.exe。

posted @ 2025-02-14 17:34  叽里呱啦哇里呱唧  阅读(34)  评论(0)    收藏  举报