.so与.a文件在Linux系统中的区别

更新 Sep 11, 2026

适用于

操作系统

  • Linux

其他

Linux OS
NI driver

问题详述

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

解决方案

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

 

扩展名为 .so 的文件是动态链接共享库。共享库在运行时动态加载,并不是应用程序本身的一部分,但它们在编译过程中必须可用。通常,共享库类似于 Windows 操作系统中的 .dll 文件。例如,NI-VISA 驱动程序使用共享库。