本帖最后由 jackz007 于 2022-7-13 18:16 编辑
linux 系统的 .so 文件是动态库(也叫共享库),相当于 Windows 系统下的 dll 文件,我们编写 C 语言代码往往需要用到一些现成的函数,这些函数有些是由 C 语言系统提供的,有些是由第三方代码库提供的,代码编译的时候,可以选择静态连接或动态连接,其中,静态连接就是把被调用函数的代码直接写入可执行文件,使被调用函数成为可执行文件本身的一部分;动态连接就是被调用函数驻留在动态库中,代码编译时,包含被调用函数的动态库信息被写入可执行文件,当程序运行的时候,相关的动态库会被操作系统自动加载到内存,为程序运行提供支撑。这个 "libncursesw.so.5" 就是 "vim_test_linux" 运行需要依赖的一个动态库文件,缺少了这个库,"vim_test_linux" 就不再是一个完整的程序文件了。
在 linux 系统下,每一个程序都必须和操作系统打交道,操作系统函数都位于动态库内,所以,每一个可执行程序都必须依赖动态库。
在“vim_test_linux” 的所在目录内,键入命令:
可以查看 “vim_test_linux” 依赖的所有动态库的列表。