.so和.a文件在Linux中有什么区别?

更新 Apr 3, 2023

适用于

其他

Linux OS
NI driver

问题详述

我在基于Linux的操作系统(例如NI Linux)的计算机上使用NI驱动程序。这些驱动程序已在该计算机上安装* .so或* .a文件。这些文件是什么,它们有什么不同?

解决方案

扩展名为“ .a”的文件是静态库。这些库包含在编译时链接到调用代码的函数,并成为应用程序的一部分。 NI-488.2驱动程序例如使用静态库。

扩展名为“ .so”的文件是动态链接的共享库。这些通常更简单地称为共享库,共享库或共享库。共享库在运行时动态加载。共享对象库不是应用程序的一部分。但是,它们在编译过程中必须可用。通常,共享对象库类似于Windows计算机上的DLL文件。 NI-VISA驱动程序例如使用共享对象库。