一个软件运行,通常需要一些必备的静态库和动态库。静态库和动态库本身,其实可以作为软件运行所必需的环境来理解。静态库是指静态的,一般在程序链接时早已放到程序中。动态库是链接时告诉程序此环境存在,在运行时才调用和加载。在Windows下,静态库的文件名为lib,动态库为dll。
值得一提的是,Windows程序在编译动态库时,会同时生成lib文件和dll文件。此lib文件并非静态库,而是引导文件。此lib文件只是告诉源文件,编译的时候存在相应动态库。当源文件编译为程序时,程序运行也需要相应动态库,必须把lib文件对应的dll文件放到程序认可的目录下。
附:Linux / Unix 等程序运行科参考Windows过程,只是Linux / Unix 无lib引导文件,直接链接和运行so文件