From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



在 Linux 中 .so 檔案與 .a 檔案有什麼差異?



主要軟體:
主要軟體版本: 14.0
主要軟體修正版本: N/A
次要軟體: Driver Software>>NI-488.2

問題: 我正在以 Linux 為基底的作業系統電腦 (例如 NI Linux) 上使用 NI 的驅動程式,這些驅動程式會安裝 *.so 或 *.a 的檔案到電腦上,這些檔案是什麼?以及他們之間有什麼不同?

解答: 附檔名為 .a 的檔案是屬於靜態函式庫 (library),包含了一些函式,而這些函式會在編譯時被連結到程式碼,進而成為應用程式的一部分。舉例來講, 像是 NI-488.2 驅動程式就是使用靜態的程式庫。

檔案有 .so 附檔名的是動態連結的共享物件函式庫 (shared object libraries),這些通常是指共享的物件 (shared objects)、共享的函式庫 (shared libraries) 、或共享的物件函式庫 (shared object libraries) 。共享物件函式庫是在執行時動態才載入的,且不屬於應用程式的一部分。不過在編譯的時候,它們必須要是可以連結使用的。一般來講,共享物件函式庫是類似 Windows 上的 DLL 檔案。例如 NI-VISA 驅動程式就是使用共享物件函式庫。

相關連結: White Paper: Under the Hood of NI Linux Real-Time White Paper: Introduction to NI Linux Real-Time

附加檔案:





報告日期: 06/24/2005
最後更新: 05/17/2016
文件偏號: 3MNE8C7T